if ( type == PropertyType.DIMENSION_TYPE )
if ( type == IPropertyType.DIMENSION_TYPE )
		public void end( ) throws SAXException		{			if ( tmpPropDefn == null )				return;			int type = tmpPropDefn.getTypeCode( );			if ( type != PropertyType.DIMENSION_TYPE					&& type != PropertyType.CHOICE_TYPE )			{				errorHandler						.semanticError( new MetaDataParserException(								MetaDataParserException.DESIGN_EXCEPTION_RESTRICTION_NOT_ALLOWED ) );				return;			}			ChoiceSet allowedChoices = new ChoiceSet( );			ArrayList allowedList = new ArrayList( );			String choicesStr = StringUtil.trimString( text.toString( ) );			// blank string.			if ( choicesStr == null )				return;			String[] nameArray = choicesStr.split( "," ); //$NON-NLS-1$			if ( type == PropertyType.DIMENSION_TYPE )			{				// units restriction on a dimension property.				IChoiceSet units = dictionary						.getChoiceSet( DesignChoiceConstants.CHOICE_UNITS );				assert units != null;				for ( int i = 0; i < nameArray.length; i++ )				{					IChoice unit = units.findChoice( nameArray[i].trim( ) );					if ( unit != null )					{						allowedList.add( unit );					}					else					{						errorHandler								.semanticError( new MetaDataParserException(										MetaDataParserException.DESIGN_EXCEPTION_INVALID_RESTRICTION ) );						return;					}				}			}			else			{				// choices type restriction.				IChoiceSet choices = tmpPropDefn.getChoices( );				assert choices != null;				for ( int i = 0; i < nameArray.length; i++ )				{					IChoice choice = choices.findChoice( nameArray[i].trim( ) );					if ( choice != null )					{						allowedList.add( choice );					}					else					{						errorHandler								.semanticError( new MetaDataParserException(										MetaDataParserException.DESIGN_EXCEPTION_INVALID_RESTRICTION ) );						return;					}				}			}			allowedChoices.setChoices( (Choice[]) allowedList					.toArray( new Choice[0] ) );			tmpPropDefn.setAllowedChoices( allowedChoices );		}