for (JTypeVar visitorTypeParameter: visitorInterface.getValueTypeParameters()) {
Types.generifyWithBoundsFrom(valueClass, visitorTypeParameter.name(), visitorTypeParameter);
}
if (annotation.valueClassIsSerializable()) {
valueClass._implements(types._Serializable);
valueClass.field(JMod.PRIVATE | JMod.FINAL | JMod.STATIC, types._long, "serialVersionUID", JExpr.lit(annotation.valueClassSerialVersionUID()));
}
if (annotation.valueClassIsComparable()) {
valueClass._implements(types._Comparable.narrow(valueClass.narrow(valueClass.typeParams())));
}