code: public static <T, O> PropertyDataFetcher<T> fetching(Function<O, T> function) {
          return new PropertyDataFetcher<>(function);
      }
docs: Returns a data fetcher that will present the {@link DataFetchingEnvironment#getSource()} object to the supplied
  function to obtain a value, which allows you to use Java 8 method references say obtain values in a
  more type safe way.
  
  For example :
  <pre>
  {@code
  
  DataFetcher functionDataFetcher = fetching(Thing::getId);
  
  }
  </pre>
  
  @param function the function to use to obtain a value from the source object
  @param <O>      the type of the source object
  @param <T>      the type of result
  
  @return a new PropertyDataFetcher using the provided function as its source of values