code: public static <T> ReplayProcessor<T> createSizeAndTimeout(int size, Duration maxAge) {
  		return createSizeAndTimeout(size, maxAge, Schedulers.parallel());
  	}
docs: Creates a time- and size-bounded replay processor.
  <p>
  In this setting, the {@code ReplayProcessor} internally tags each received item
  with a timestamp value supplied by the {@link Schedulers#parallel()} and holds at
  most
  {@code size} items in its internal buffer. It evicts items from the start of the
  buffer if their age becomes less-than or equal to the supplied age in milliseconds
  or the buffer reaches its {@code size} limit.
  <p>
  When subscribers subscribe to a terminated {@code ReplayProcessor}, they observe
  the items that remained in the buffer after the terminal signal, regardless of
  their age, but at most {@code size} items.
  <p>
  If an subscriber subscribes while the {@code ReplayProcessor} is active, it will
  observe only those items from within the buffer that have age less than the
  specified time and each subsequent item, even if the buffer evicts items due to the
  time constraint in the mean time. In other words, once an subscriber subscribes, it
  observes items without gaps in the sequence except for the outdated items at the
  beginning of the sequence.
  <p>
  Note that terminal signals ({@code onError} and {@code onComplete}) trigger
  eviction as well. For example, with a max age of 5, the first item is observed at
  T=0, then an {@code onComplete} signal arrives at T=10. If an Subscriber subscribes
  at T=11, it will find an empty {@code ReplayProcessor} with just an {@code
  onCompleted} signal.
  
  @param <T> the type of items observed and emitted by the Processor
  @param maxAge the maximum age of the contained items
  @param size the maximum number of buffered items
  
  @return a new {@link ReplayProcessor} that replay up to {@code size} elements, but
  will evict them from its history based on their age.