code: public static Object getByPath(Object target, List<String> path) {
          Object obj = target;
  
          for (String field : path) {
              if (obj == null) {
                  return null;
              }
              obj = evaluate(obj, trimType(field));
          }
  
          return obj;
      }
docs: Evaluates the given path expression on the given object and returns the
  object found.
  
  @param target the object to reflect on
  @param path the path to evaluate
  @return the result of evaluating the path against the given object