}	/**
}
public Object validateValue( Module module, PropertyDefn defn, Object value )			throws PropertyValueException	{		if ( value == null )			return null;		// This implementation assumes that the class-specific validation		// was already done.		if ( value instanceof String )		{			String name = StringUtil.trimString( (String) value );			if ( name == null )			{				logger.log( Level.SEVERE, "The value of the extends property is an empty string" ); //$NON-NLS-1$				return null;			}			String namespace = StringUtil.extractNamespace( name );			name = StringUtil.extractName( name );			// Element is unresolved.			return new ElementRefValue( namespace, name );		}		if ( value instanceof DesignElement )		{			DesignElement target = (DesignElement) value;			IModuleNameSpace elementResolver = module					.getModuleNameSpace( ( (ElementDefn) target.getDefn( ) )							.getNameSpaceID( ) );			ElementRefValue refValue = elementResolver.resolve( target );			// Resolved reference.			return refValue; // new ElementRefValue( null, (DesignElement)								// value );		}		// Invalid property value.		logger.log( Level.SEVERE, "The value of the extends property is not a valid type " ); //$NON-NLS-1$		throw new PropertyValueException( value,				PropertyValueException.DESIGN_EXCEPTION_INVALID_VALUE,				PropertyType.ELEMENT_REF_TYPE );	}	/**