code: public final <R> Call<R> flatMap(FlatMapper<V, R> flatMapper) {
      return new FlatMapping<>(flatMapper, this);
    }
docs: Maps the result of this call into another, as defined by the {@code flatMapper} function. This
  is used to chain two remote calls together. For example, you could use this to chain a list IDs
  call to a get by IDs call.
  
  <pre>{@code
  getTracesCall = getIdsCall.flatMap(ids -> getTraces(ids));
  
  // this would now invoke the chain
  traces = getTracesCall.enqueue(tracesCallback);
  }</pre>
  
  Cancelation propagates to the mapped call.
  
  <p>This method intends to be used for chaining. That means "this" instance should be discarded
  in favor of the result of this method.