public abstract interface ABC {

    @org.jetbrains.annotations.NotNull()
    public abstract <T extends java.lang.CharSequence>java.util.List<T> abc(@org.jetbrains.annotations.NotNull()
    T p0, @org.jetbrains.annotations.NotNull()
    java.util.List<? extends T> p1, @org.jetbrains.annotations.NotNull()
    T... p2);

    public abstract <X extends java.lang.Object>int bcd(@org.jetbrains.annotations.NotNull()
    char... p0);
}

////////////////////


public class BaseClass<B extends java.lang.Object> {

    public BaseClass() {
        super();
    }
}

////////////////////


public abstract interface Intf<I1 extends java.lang.Object, I2 extends java.io.Serializable> {
}

////////////////////


public abstract interface Intf2<T extends java.util.List<? extends java.lang.String>, M extends T> {
}

////////////////////


public final class MyClass<M1 extends java.lang.Object, M2 extends java.lang.Object> extends BaseClass<java.lang.RuntimeException> implements Intf<java.lang.Object, java.util.Date>, OtherIntf<java.lang.String> {
    @org.jetbrains.annotations.Nullable()
    private final java.util.List<java.util.Map<java.lang.String, M1>> fld = null;

    @org.jetbrains.annotations.Nullable()
    public final java.util.List<java.util.Map<java.lang.String, M1>> getFld() {
        return null;
    }

    public MyClass() {
        super();
    }
}

////////////////////


public abstract interface OtherIntf<O extends java.lang.CharSequence> {
}
