JMethod predicateMethod = valueClass.method(JMod.PUBLIC | JMod.FINAL, types._boolean, name);
AbstractJClass visitorType = visitorInterface.narrowed(usedValueClassType, types._Boolean, types._RuntimeException);
JDefinedClass anonymousClass1 = valueClass.owner().anonymousClass(visitorType);
for (JMethod interfaceMethod1: visitorInterface.methods()) {
JMethod visitorMethod1 = anonymousClass1.method(interfaceMethod1.mods().getValue() & ~JMod.ABSTRACT, types._Boolean, interfaceMethod1.name());
visitorMethod1.annotate(Nonnull.class);
visitorMethod1.annotate(Override.class);
for (JVar param: interfaceMethod1.params()) {
AbstractJType argumentType = visitorInterface.substituteSpecialType(param.type(), usedValueClassType, types._Boolean, types._RuntimeException);
visitorMethod1.param(param.mods().getValue(), argumentType, param.name());