}
public POJOImplementation read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
// Read an <implementation.pojo> element
POJOImplementation implementation = pojoImplementationFactory.createPOJOImplementation();
// Read policies
policyProcessor.readPolicies(implementation, reader);
// Read the POJO class attribute.
String className = reader.getAttributeValue(null, "class");
implementation.setPOJOName(className);
// Mark the POJO model unresolved to track the fact that it's not
// completely initialized, its class is not loaded yet and services
// and references not initialized either
implementation.setUnresolved(true);
// Skip to end element
while (reader.hasNext()) {
if (reader.next() == END_ELEMENT && IMPLEMENTATION_POJO.equals(reader.getName())) {
break;