import org.checkerframework.framework.testchecker.util.*;

public class DeepOverrideAbstract {

  public static interface I {
    @Odd String interfaceMethod();
  }

  public abstract static class A {
    public abstract @Odd String abstractMethod();
  }

  public abstract static class B extends A implements I {}

  public static class C extends B {
    public @Odd String interfaceMethod() {
      return null;
    }

    // :: error: (override.return)
    public String abstractMethod() {
      return "";
    }
  }
}
