@Override
    public <Input, Output> Output accept(JmesPathVisitor<Input, Output> visitor, Input input) throws InvalidTypeException {
        return visitor.visit(this, input);
    }
Delegates to either the CodeGen visitor(JmesPathNotExpression) or
Evaluation visitor(JmesPathNotExpression) based on the type of JmesPath
visitor

@param visitor  CodeGen visitor or Evaluation visitor
@param input    Input expression that needs to be evaluated
@param <Input>  Input type for the visitor
                CodeGen visitor: Void
                Evaluation visitor: JsonNode
@param <Output> Output type for the visitor
                CodeGen visitor: String
                Evaluation visitor: JsonNode
@return Corresponding output is returned. Evaluated String
in the case of CodeGen visitor or an evaluated JsonNode
in the case of Evaluation visitor
@throws InvalidTypeException
jmespath-java/src/main/java/com/amazonaws/jmespath/JmesPathNotExpression.java