docs: public Entry[] listEntries( DirectoryEntry directory )
      {
          Map<String, Entry> result = new TreeMap<String, Entry>();
          for ( FileSystem delegate : delegates )
          {
              Entry[] entries = delegate.listEntries( DefaultDirectoryEntry.equivalent( delegate, directory ) );
              if ( entries == null )
              {
                  continue;
              }
              for ( Entry entry : entries )
              {
                  if ( result.containsKey( entry.getName() ) )
                  {
                      continue;
                  }
                  if ( entry instanceof DirectoryEntry )
                  {
                      result.put( entry.getName(),
                                  new DefaultDirectoryEntry( this, directory, entry.getName() ) );
                  }
                  else if ( entry instanceof FileEntry )
                  {
                      result.put( entry.getName(), new LinkFileEntry( this, directory, (FileEntry) entry ) );
                  }
              }
          }
          return (Entry[]) result.values().toArray( new Entry[result.size()] );
      }