@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);
        }
@ 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 ) ; }
Iterate the history in reverse chronological order.

@return A TimeSeriesCollection stream, in reverse chronological order.