code: private static Tuple3<Set<Object>, Set<PathSpec>, Boolean> reduceFields(Tuple3<Set<Object>, Set<PathSpec>, Boolean> state,
        Request<?> request) {
      if (request instanceof GetRequest || request instanceof BatchRequest) {
        final Set<PathSpec> requestFields = request.getFields();
        if (requestFields != null && !requestFields.isEmpty()) {
          if (state._2() != null) {
            state._2().addAll(requestFields);
          }
          return state;
        } else {
          return Tuples.tuple(state._1(), null, state._3());
        }
      } else {
        throw unsupportedGetRequestType(request);
      }
    }
docs: Tuple3: (keys, fields, contains-batch-get)