doSetMember( propDefn.getName( ), (StructPropertyDefn) propDefn, valueToSet );
doSetMember( struct, propDefn.getName( ), (StructPropertyDefn) propDefn, valueToSet );
	public void end( ) throws SAXException	{		String value = text.toString( );		PropertyDefn propDefn = null;		if ( struct != null )		{			StructureDefn structDefn = (StructureDefn) struct.getDefn( );			assert structDefn != null;			propDefn = (StructPropertyDefn) structDefn.getMember( name );		}		else		{			propDefn = element.getPropertyDefn( name );		}		if ( propDefn == null )		{			DesignParserException e = new DesignParserException( new String[]{name},					DesignParserException.DESIGN_EXCEPTION_UNDEFINED_PROPERTY );			RecoverableError.dealUndefinedProperty( handler, e );			valid = false;			return;		}		if ( !propDefn.isEncryptable( ) )		{			DesignParserException e = new DesignParserException(					new String[]{propDefn.getName( )},					DesignParserException.DESIGN_EXCEPTION_PROPERTY_IS_NOT_ENCRYPTABLE );			handler.getErrorHandler( ).semanticError( e );			valid = false;			return;		}		String valueToSet = StringUtil.trimString( value );		if ( null == valueToSet )			return;		IEncryptionHelper helper = MetaDataDictionary.getInstance( )				.getEncryptionHelper( );		valueToSet = helper.decrypt( valueToSet );		if ( struct != null )		{			doSetMember( propDefn.getName( ), (StructPropertyDefn) propDefn,					valueToSet );			return;		}		doSetProperty( propDefn, valueToSet );	}