code: @Override
      public Iterator<Entry> iterator() {
          Iterator<ArtifactEntry> iter = delegate.iterator();
          if (structureHelperSaysWeAreRoot != null) {
              return new WrapperedIterator(iter, root, rootOverlay, factoryHolder, structureHelper, structureHelperLocalRootDelegate);
          } else {
              return new WrapperedIterator(iter, root, rootOverlay, factoryHolder, structureHelper, null);
          }
      }
docs: {@inheritDoc}