code: @Override
      public Iterator<Path> iterator() {
  
          final List<String> tokens = tokenize(this);
          final int tokensSize = tokens.size();
          final List<Path> paths = new ArrayList<>(tokensSize);
          for (int i = 0; i < tokensSize; i++) {
              ArchivePath newPath = ArchivePaths.root();
              for (int j = 0; j <= i; j++) {
                  newPath = ArchivePaths.create(newPath, tokens.get(j));
              }
              paths.add(new ShrinkWrapPath(newPath, this.fileSystem));
          }
  
          return paths.iterator();
      }
docs: {@inheritDoc}
  
  @see java.nio.file.Path#iterator()