String versionRange = parseString(name, element, ATT_REQUIRE_VERSION, false);
VersionedReference<SpecificationDeclaration> specificationVersion = specification != null ? VersionedReference.range(specification,versionRange) : null;
ComponentReference<?> implementation = parseAnyComponentReference(name, element, ATT_MAIN_IMPLEMENTATION, false);
CompositeDeclaration declaration = new CompositeDeclaration(name, specificationVersion, implementation);
parseComponent(element, declaration);
parseCompositeContent(element, declaration);
return declaration;