//Handle the not's child
BasicDBObject arg = (BasicDBObject) handle(expr.getArg(0));
//Only support the first key, let's see if there
//is cases where this will get broken
String key = arg.keySet().iterator().next();
Operation<?> subOperation = (Operation<?>) expr.getArg(0);
Operator<?> subOp = subOperation.getOperator();
if (subOp == Ops.IN) {
return visit(OperationImpl.create(Boolean.class, Ops.NOT_IN, subOperation.getArg(0),
subOperation.getArg(1)), context);