FilterPassController.setForceReset( false );
filterPassController.setForceReset( false );
	public boolean evaluate(Object value, Object n, boolean calculatePercent) throws DataException	{		if( FilterPassController.getForceReset() )		{			doReset();			FilterPassController.setForceReset( false );		}		if( N == -1)		{			try{				if( calculatePercent )				{					double temp = Double.valueOf( n.toString() ).doubleValue()/100;					if( temp > 1 || temp < 0)						throw new DataException(ResourceConstants.INVALID_TOP_BOTTOM_PERCENT_ARGUMENT);										N = (int)Math.round( temp*getRowCount() );				}else									N = Double.valueOf( n.toString() ).intValue();			}catch (NumberFormatException e)			{							}			//If the exception is thrown in abrove code, then the value of N should			//remains "-1"			if( N < 0 )				throw new DataException(ResourceConstants.INVALID_TOP_BOTTOM_N_ARGUMENT);								}		if ( getPassLevel( ) == FIRST_PASS )		{			return doFirstPass( value );		}		else if ( getPassLevel( ) == SECOND_PASS )		{			return doSecondPass( );		}		return false;	}