@java.lang.annotation.Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@GroovyASTTransformationClass("org.codehaus.groovy.transform.EqualsAndHashCodeASTTransformation")
public @interface EqualsAndHashCode {
<BUG>String excludes() default "";
String includes() default "";
boolean callSuper() default false;</BUG>
boolean includeFields() default false;
boolean useCanEqual() default true;

@java.lang.annotation.Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@GroovyASTTransformationClass("org.codehaus.groovy.transform.EqualsAndHashCodeASTTransformation")
public @interface EqualsAndHashCode {
String[] excludes();
String[] includes();
boolean callSuper() default false;
boolean includeFields() default false;
boolean useCanEqual() default true;
