code: @Override
      public Stream<TimeSeriesCollection> streamReversed() {
          try {
              final RpcIterator<TimeSeriesCollection> iter = new RpcIterator<>(
                      getRpcClient(OncRpcProtocols.ONCRPC_TCP),
                      (rh_protoClient rpcClient, DateTime ts) -> {
                          if (ts == null)
                              return EncDec.decodeStreamResponse(rpcClient.streamReverse_1(TSC_INITIAL_BATCH_SIZE));
                          else
                              return EncDec.decodeStreamResponse(rpcClient.streamReverseFrom_1(EncDec.encodeTimestamp(ts), TSC_INITIAL_BATCH_SIZE));
                      },
                      (rh_protoClient rpcClient, long id, long cookie) -> {
                          return EncDec.decodeStreamIterTscResponse(rpcClient.streamIterTscNext_1(id, cookie, TSC_BATCH_SIZE));
                      },
                      (data) -> {
                          return Optional.of(data.get(data.size() - 1).getTimestamp().minus(1));
                      },
                      null);
              return StreamSupport.stream(Spliterators.spliteratorUnknownSize(iter, NONNULL | IMMUTABLE | ORDERED), false);
          }
docs: Iterate the history in reverse chronological order.
  
  @return A TimeSeriesCollection stream, in reverse chronological order.