@Override
    protected Entry nextEntry() throws IOException {
      TarArchiveEntry te;
      while ((te = myStream.getNextEntry()) != null &&
             !((te.isFile() && !te.isLink()) // ignore hardlink
               || te.isDirectory()
               || te.isSymbolicLink())) /* skipping unsupported */;
      if (te == null) return null;
      if (!SystemInfo.isWindows) return new Entry(te.getName(), type(te), te.getMode(), te.getLinkName(), te.getSize());
      // UNIX permissions are ignored on Windows
      if (te.isSymbolicLink()) return new Entry(te.getName(), Entry.Type.SYMLINK, 0, te.getLinkName(), te.getSize());
      return new Entry(te.getName(), te.isDirectory(), te.getSize());
    }
@Override
    protected Entry nextEntry()