@Override
	public BigInteger convertControlValueToControlComparable(Object aValue)
	{
		if ( aValue instanceof BigInteger )
		{
			return (BigInteger) aValue;
		}
		else if ( aValue instanceof Integer )
		{
			return new BigInteger( ((Integer) aValue).toString() );
		}
		else if ( aValue instanceof String )
		{
			String str = (String) aValue;
			if ( ( str == null ) || ( str.trim().length() == 0 ) )
			{
				return null;
			}
			else
			{
				try
				{
					// -- Trim leading and/or trailing spaces --
					str = str.trim();
					return new BigInteger( str );
				}
				catch (NumberFormatException e)
				{
					throw new NumberFormatException( "Invalid Integer Number Format: [" + str + "] for Parameter: " + getParameterName() );
				}
			}

		}
		else if ( aValue instanceof Boolean )
		{
			Boolean bool = (Boolean) aValue;
			return new BigInteger( bool ? "1" : "0" );
		}
		else
		{
			return null;
		}
	}