import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.lang.Object;

class B {
     @NotNull
     B b = new B();

    public B <warning descr="Getter for @NotNull field might be annotated @NotNull itself">getB</warning>() {
        return b;
    }

    public void setB(B <warning descr="Setter parameter for @NotNull field might be annotated @NotNull itself">b</warning>) {
        this.b = b;
    }

        @NotNull
        private String bug = "true";

        public boolean getBug() {
            return Boolean.valueOf(bug);
        }
}
class C {
  @NotNull C c;

  C(C <warning descr="Constructor parameter for @NotNull field might be annotated @NotNull itself">c</warning>) {
    this.c = c;
  }

  C(@Nullable C c, int i) {
    this.c = c;
  }

  @Nullable
  public C <warning descr="Getter for @NotNull field is annotated @Nullable">getC</warning>() {
    return c;
  }

  public void setC(@Nullable C <warning descr="Setter parameter for @NotNull field is annotated @Nullable">c</warning>) {
    this.c = c;
  }

  @NotNull C c1 = new C(null);
  @org.jetbrains.annotations.Nullable
  public C getC1() {
    if (c1 != null) {
      return null;
    }
    return c1;
  }
}

class D {
    @Nullable Long myL;

    D(long l) {
      myL = l;
    }
}

class E {
  final @NotNull C c;

  E(C <warning descr="Constructor parameter for @NotNull field might be annotated @NotNull itself">c</warning>) {
    this.c = c;
  }

}
class F {
  @Nullable Object field;

  public void setField(@NotNull Object field) {
    this.field = field;
  }
}
class X {
  @NotNull String s;

  X(boolean b, String s) {
    if (b) {
      this.s = s;
    } else {
      this.s = "";
    }
  }
}
class TwoAssignments {
  @NotNull String s;

  TwoAssignments(boolean b, String <warning descr="Constructor parameter for @NotNull field might be annotated @NotNull itself">s</warning>) {
    if (b) {
      System.out.println("true");
      this.s = s;
    } else {
      System.out.println("false");
      this.s = s;
    }
  }
}
