code: public static <E> FluentCloseableIterable<E> from(final CloseableIterable<E> iterable) {
          return (iterable instanceof FluentCloseableIterable) ? (FluentCloseableIterable<E>) iterable
                  : new FluentCloseableIterable<E>() {
  
              @Override
              protected void doClose() {
                  iterable.close();
              }
  
              @Override
              protected Iterator<E> retrieveIterator() {
                  return iterable.iterator();
              }
          };
      }
docs: Create a {@link FluentCloseableIterable} from a {@link CloseableIterable}