code: public ExecutionResult execute(UnaryOperator<ExecutionInput.Builder> builderFunction) {
          return execute(builderFunction.apply(ExecutionInput.newExecutionInput()).build());
      }
docs: Executes the graphql query using calling the builder function and giving it a new builder.
  <p>
  This allows a lambda style like :
  <pre>
  {@code
  ExecutionResult result = graphql.execute(input -> input.query("{hello}").root(startingObj).context(contextObj));
  }
  </pre>
  
  @param builderFunction a function that is given a {@link ExecutionInput.Builder}
  
  @return an {@link ExecutionResult} which can include errors