code: public Iterable<T> cursor(final File[] files) {
  		return new Iterable<T>() {
  			@Override
  			public Iterator<T> iterator() {
  				if (files != null) {
  					final Iterator<File> i = Arrays.asList(files).iterator();
  					return new Iterator<T>() {
  						@Override
  						public boolean hasNext() {
  							return i.hasNext();
  						}
  						@Override
  						public @Nullable T next() {
  							return file2list(i.next());
  						}
  						@Override
  						public void remove() {
  							Check.unsupportedoperation.fail("remove not supported");
  						}
  					};
  
  				}
  				return Collections.emptyIterator();
  			}
  		};
  	}
docs: /* cursor