@Override
    protected boolean equalsFunction(FunctionNode obj) {
        AttributeMapLookupNode that = (AttributeMapLookupNode) obj;
        return super.equalsFunction(obj) &&
                Objects.equals(keyAttribute, that.keyAttribute) &&
                Objects.equals(valueAttribute, that.valueAttribute) &&
                Objects.equals(key, that.key) &&
                Objects.equals(keySourceAttribute, that.keySourceAttribute);
    }
This function is an instruction to do a lookup in a map attribute, returning the value.

The key is either specified explicitly or found via a key source attribute.
Two underlying attributes are used to represent the map attribute (the key and value attributes).

@author geirst
searchlib/src/main/java/com/yahoo/searchlib/expression/AttributeMapLookupNode.java