public interface Min {}
public interface Max extends Min {}
@GroupSequence({Max.class, A.class})
public class A {
@NotNull(groups=Max.class)
public String foo;
@NotNull(groups=Min.class)
public String bar;
}
public class B {
@NotNull(groups=Max.class)
public String foo;
@NotNull(groups=Min.class)
public String bar;
}