public static <T> PrefetchableIterable<T> fromArray(T... values) {
    if (values.length == 0) {
      return emptyIterable();
    }
    return new Default<T>() {
      @Override
      public PrefetchableIterator<T> createIterator() {
        return PrefetchableIterators.fromArray(values);
      }
    };
  }
@Test
  public void testDefaultPrefetch() {
    PrefetchableIterable<String> iterable =
        new Default<String>() {
          @Override
          protected PrefetchableIterator<String> createIterator() {
            return new ReadyAfterPrefetchUntilNext<>(
                PrefetchableIterators.fromArray("A", "B", "C"));
          }
        };

    assertFalse(iterable.iterator().isReady());
    iterable.prefetch();
    assertTrue(iterable.iterator().isReady());
  }