import java.util.Comparator;

abstract class A implements Comparator<<error descr="'A.B' has private access in 'A'">A.B</error>> {

  private static class B {
  }

  private interface I extends Comparator<I>{}
  private interface I1 extends Comparator<I>{}
}

//abstract class C implements error descr="'C.D' has private access in 'C'">C.D error {
//  private static class D {}
//}

class JSReferenceSet {
    static class MyResolver implements JSResolveUtil.Resolver<M> {}
    class M extends JSResolveUtil.F {}
}
class JSResolveUtil {
    static interface Resolver<T extends F> {}
    static class F {}
}


class TestIDEA62515 {
  public static interface Model<T> {}
  public class Inner {}
  public static class Foo implements Model<Inner> {}
}