public Object validateColor( ReportDesign design, String value )
private Object validateColor( ReportDesign design, String value )
	public Object validateColor( ReportDesign design, String value )			throws PropertyValueException	{		if ( StringUtil.isBlank( value ) )			return null;		// 1. If the value matches a predefined choice, return its name.		//    This check should be put in the first, because ColorUtil.parseColor()		//    will also do predefined color check but return an integer value.		IChoiceSet choices = getChoices( );		if ( choices != null )		{			IChoice choice = choices.findChoice( value );			if ( choice != null )				return choice.getName( );		}		// 2.check the followings:		//   1) decimal number		//   2) "#FFFF00"		//   3) "#FF0"		//   4) "0xFF00FF"		//   5) "rgb(r,g,b)" or "rgb(r%,g%,b%)"		try		{			int retValue = ColorUtil.parseColor( value );			if ( retValue != -1 )				return new Integer( retValue );		}		catch ( NumberFormatException e )		{			throw new PropertyValueException( value,					PropertyValueException.DESIGN_EXCEPTION_INVALID_VALUE, COLOR_TYPE );		}		// 3. Checks in the customer color pallete.		if ( design != null )		{			CustomColor customColor = design.findColor( value );			if ( customColor != null )				return value;		}		return null;	}