code: public static <T> ComposableFuture<T> buildEager(final Producer<T> producer) {
      return EagerComposableFuture.build(producer);
    }
docs: builds a new eager future from a producer. the producer is consumed only once
  abd the result(or error) is cached for future consumption.
  
  @param producer the result producer
  @param <T>      the future type
  @return the future ;)