import javax.annotation.concurrent.*;

class UnknownGuard {
  @GuardedBy("itself")
  private final Object one = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"nothing\"">"nothing"</warning>)
  private Object two = new Object();

  @GuardedBy("this")
  private Object three = new Object();

  @GuardedBy("UnknownGuard.this")
  private Object four = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"Nothing.this\"">"Nothing.this"</warning>)
  private Object five = new Object();

  @GuardedBy("lock()")
  private Object six = new Object();
  private Object lock() {
    return new Object();
  }

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"wrong()\"">"wrong()"</warning>)
  private Object seven = new Object();
  private void wrong() {}

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"wrong2()\"">"wrong2()"</warning>)
  private Object eight = new Object();
  private void wrong2(int i) {}

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"nothing()\"">"nothing()"</warning>)
  private Object nine = new Object();

  @GuardedBy("one")
  private Object ten = new Object();

  @GuardedBy("this.one")
  private Object eleven = new Object();

  @GuardedBy("UnknownGuard.this.one")
  private Object twelve = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"wrong\"">"wrong"</warning>)
  private Object thirteen = new Object();
  private int wrong = 1;

  @GuardedBy("java.lang.String.class")
  private Object fourteen = new Object();

  @GuardedBy("UnknownGuard.class")
  private Object fifteen = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"Nothing.class\"">"Nothing.class"</warning>)
  private Object sixteen = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"Wrong.this\"">"Wrong.this"</warning>)
  private Object seventeen = new Object();
  class Wrong {}

  /**
   * <warning descr="Unknown @GuardedBy reference \"wrong\"">@GuardedBy(wrong)</warning>
   */
  private Object eighteen = new Object();

  /**
   * @GuardedBy(this)
   */
  private Object nineteen = new Object();

  @GuardedBy("Inner.LOCK")
  private Object twenty = new Object();
  static class Inner {
    private static final Object LOCK = new Object();
  }

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"Inner.nothing\"">"Inner.nothing"</warning>)
  private Object twentyone = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"Nothing.LOCK\"">"Nothing.LOCK"</warning>)
  private Object twentytwo = new Object();

  /**
   * @GuardedBy itself
   */
  private Object twentythree = new Object();

  @GuardedBy(<warning descr="Unknown @GuardedBy reference \"itself\"">"itself"</warning>)
  private void method() {}
}