private ResultList evaluateListsTrue(AttributeNode.VariableValueList lhs, AttributeNode.VariableValueList rhs) {
        if (lhs.size() != rhs.size()) {
            return new ResultList(Result.FALSE);
        }

        for (int i = 0; i < lhs.size(); i++) {
            if (!lhs.get(i).getVariables().equals(rhs.get(i).getVariables())) {
                return new ResultList(Result.FALSE);
            }
            if (lhs.get(i).getValue() instanceof TensorFieldValue || rhs.get(i).getValue() instanceof TensorFieldValue) {
                return new ResultList(Result.INVALID);
            }

            if (evaluateEquals(lhs.get(i).getValue(), rhs.get(i).getValue()) == Result.FALSE) {
                return new ResultList(Result.FALSE);
            }
        }

        return new ResultList(Result.TRUE);
    }
Evaluates a binary comparison where one or both operands are null.
Boolean outcomes are only defined for (in)equality relations, all others
return Result.INVALID.

Precondition: lhs AND/OR rhs is null.
document/src/main/java/com/yahoo/document/select/rule/ComparisonNode.java