/** * DOCUMENT ME! * * @param callstack DOCUMENT ME! * @param interpreter DOCUMENT ME! * @param parameterNode DOCUMENT ME! * @return DOCUMENT ME! * @throws EvalError DOCUMENT ME! */ public Object filter(CallStack callstack, Interpreter interpreter, Node parameterNode) throws EvalError { int col = getColumn(); if (parameterNode instanceof BSHArguments) { Object[] keys = ((BSHArguments) parameterNode).getArguments(callstack, interpreter); for (int i = 0; i < keys.length; i++) { keys[i] = Primitive.unwrap(keys[i]); } Key key = null; if ((keys.length == 1) && (keys[0] == Dataset.ANY)) { key = Dataset.ANY; } else { key = new Key(keys); } Object value2 = new FilteredIndexField(this.indexView, key, col); interpreter.getRoot().setValue2(value2); return value2; } return null; }