} catch (Exception e) {
throw JAXBException.exceptionDuringSchemaGeneration(e);
}
}
XMLContext xmlContext = currentJAXBContextState.getXMLContext();
Generator generator = currentJAXBContextState.getGenerator();
if (generator == null) {
List<XMLDescriptor> descriptorsToProcess = new ArrayList<XMLDescriptor>();
List<Session> sessions = xmlContext.getSessions();
for (Session session : sessions) {
List<XMLDescriptor> descriptors = (List<XMLDescriptor>)(List)session.getProject().getOrderedDescriptors();
for (XMLDescriptor xDesc : descriptors) {
descriptorsToProcess.add(xDesc);
}
}
SchemaModelGenerator smGen = new SchemaModelGenerator();
smGen.generateSchemas(descriptorsToProcess, null, new JAXBSchemaOutputResolver(outputResolver), additonalGlobalElements);
} else {
generator.generateSchemaFiles(outputResolver, additonalGlobalElements);
}
}