@Override protected QueryIterator processMethod() throws AsyncException { // subject a variable. if (objectArgs.size() != 2) throw new ExprEvalException("ListIndex : object not a list of length 2"); Node indexNode = objectArgs.get(0); Node memberNode = objectArgs.get(1); final Collection<Node> x; if (!Var.isVar(memberNode)) // If memberNode is defined, find lists containing it. x = GraphList.listFromMember( getHandler("x"), new GNode(execCxt.getActiveGraph(), memberNode)); else // Hard. Subject unbound, no fixed member. Find every list and use BFI. x = GraphList.findAllLists(getHandler("x"), execCxt.getActiveGraph()); return listIndex.super.allLists( getHandler(""), binding, x, listVar, predicate, new PropFuncArg(objectArgs, null), execCxt); }