code: public ListX<V> xValues(final K key, final long x) {
  
          return get(key).map(a -> a.stream()
                                      .limit(x)
                                      .to(ReactiveConvertableSequence::converter).listX())
                         .orElse(ListX.empty());
      }
docs: Extract the next x values from the Adapter identified by the provided Key
  If the Adapter doesn't exist an zero List is returned
  
  <pre>
  {@code
  Queue<String> q = new Queue<>();
  pipes.register("hello", q);
  pipes.push("hello", "world");
  pipes.push("hello", "world2");
  pipes.push("hello", "world3");
  pipes.push("hello", "world4");
  
  on a separate thread
  pipes.xValues("hello",2) //ListX.of("world","world2")
  pipes.xValues("hello",2) //ListX.of("world3","world4")
  
  
  }
  </pre>
  
  
  @param key : Adapter identifier
  @param x Number of elements to return
  @return List of the next x elements from the Adapter identified by the provided key