public GeneratedObject toGeneratedObject(ModuleMXBeanEntry mbe, Optional<String> copyright) {
FullyQualifiedName absFactoryFQN = new FullyQualifiedName(mbe.getPackageName(), mbe.getAbstractFactoryName());
FullyQualifiedName moduleFQN = new FullyQualifiedName(mbe.getPackageName(), mbe.getStubModuleName());
Optional<String> classJavaDoc = Optional.fromNullable(mbe.getNullableDescription());
AbstractFactoryTemplate abstractFactoryTemplate = TemplateFactory.abstractFactoryTemplateFromMbe(mbe);
Optional<String> header = abstractFactoryTemplate.getHeaderString();
List<FullyQualifiedName> providedServices = new ArrayList<>();
for(String providedService: mbe.getProvidedServices().keySet()) {
providedServices.add(FullyQualifiedName.fromString(providedService));
}
return toGeneratedObject(absFactoryFQN, copyright,
header, classJavaDoc, mbe.getYangModuleQName(),
mbe.getGloballyUniqueName(),
providedServices,
moduleFQN,
abstractFactoryTemplate.getFields());
}