writer.beginMethod(null, factoryName,
descriptor.publicType() ? EnumSet.of(PUBLIC) : EnumSet.noneOf(Modifier.class),
constructorTokens.build().toArray(new String[0]));
for (String providerName : descriptor.providerNames().values()) {
writer.emitStatement("this.%1$s = %1$s", providerName);
}
writer.endMethod();
for (final FactoryMethodDescriptor methodDescriptor : descriptor.methodDescriptors()) {