/** * Adds constructors that delegate the the superclass constructor for all non-private constructors present on the superclass * * @param creator the constructor body creator to use */ protected void createConstructorDelegates(ConstructorBodyCreator creator) { ClassMetadataSource data = reflectionMetadataSource.getClassMetadata(getSuperClass()); for (Constructor<?> constructor : data.getConstructors()) { if (!Modifier.isPrivate(constructor.getModifiers())) { creator.overrideConstructor(classFile.addMethod(AccessFlag.PUBLIC, "<init>", "V", DescriptorUtils .parameterDescriptors(constructor.getParameterTypes())), constructor); } } }