import org.checkerframework.framework.testchecker.reflection.qual.*;

package java.lang.reflect;

class Method {
   @Top Object invoke(@Top Method this, @ReflectBottom Object obj, @ReflectBottom Object @Top [] args);
}

class Constructor<T> {
  @Top Object newInstance(@Top Constructor<T> this, @ReflectBottom Object @Top [] args);
}
