} else if ( UserPropertyDefn.DEFAULT_MEMBER.equalsIgnoreCase( name ) ) { try { Object defaultValue = ( (UserPropertyDefn) struct ) .validateValue( handler.getModule( ), value );  ( (UserPropertyDefn) struct ).setDefault( defaultValue );  } catch ( PropertyValueException e ) { handler .getErrorHandler( ) .semanticError( new UserPropertyException( element, name, UserPropertyException.DESIGN_EXCEPTION_INVALID_DEFAULT_VALUE, e, new String[]{ value, ( (UserPropertyDefn) struct ) .getType( ) .getName( )} ) ); }
		public void end( ) throws SAXException		{			String value = text.toString( );			// if the property tag is to set the type of a user-defined			// property, then we implement it like this.			if ( UserPropertyDefn.TYPE_MEMBER.equalsIgnoreCase( name ) )			{				MetaDataDictionary dictionary = MetaDataDictionary						.getInstance( );				if ( StringUtil.isBlank( value ) )				{					value = PropertyType.STRING_TYPE_NAME;				}				PropertyType typeDefn = dictionary.getPropertyType( value );				if ( typeDefn == null )				{					handler							.getErrorHandler( ).semanticError( new UserPropertyException(									element,									( (UserPropertyDefn) struct ).getName( ),									UserPropertyException.DESIGN_EXCEPTION_INVALID_TYPE ) );					return;				}				( (UserPropertyDefn) struct ).setType( typeDefn );			}			else			{				super.end( );			}		}