private Iterable<T> getDelegate() {
        Iterable<T> delegate = myDelegate;
        if (delegate == null) {
          myDelegate = delegate = provider.get();
        }
        return delegate;
      }
private Iterable<T> getDelegate()