Extension currentExtension = registry.getElementFactory().createExtension();
Extension currentExtension = registry.getElementFactory().createExtension(namespace.isDynamic());
	private void parseExtensionAttributes(Attributes attributes) {		Extension currentExtension = registry.getElementFactory().createExtension();		objectStack.push(currentExtension);		// Process Attributes		int len = (attributes != null) ? attributes.getLength() : 0;		for (int i = 0; i < len; i++) {			String attrName = attributes.getLocalName(i);			String attrValue = attributes.getValue(i).trim();			if (attrName.equals(EXTENSION_NAME))				currentExtension.setLabel(translate(attrValue));			else if (attrName.equals(EXTENSION_ID))				currentExtension.setSimpleIdentifier(attrValue);			else if (attrName.equals(EXTENSION_TARGET)) {				// check if point is specified as a simple or qualified name				String targetName;				if (attrValue.lastIndexOf('.') == -1) {					String baseId = namespace.getNamespace();					targetName = baseId + '.' + attrValue;				} else					targetName = attrValue;				currentExtension.setExtensionPointIdentifier(targetName);			} else				unknownAttribute(EXTENSION, attrName);		}		if (currentExtension.getExtensionPointIdentifier() == null) {			missingAttribute(EXTENSION_TARGET, EXTENSION);			stateStack.pop();			stateStack.push(new Integer(IGNORED_ELEMENT_STATE));			objectStack.pop();			return;		}		objectManager.add(currentExtension, true);	}