code: @VisibleForTesting
    DirectoryEntry remove(Name name) {
      int index = bucketIndex(name, table.length);
  
      DirectoryEntry prev = null;
      DirectoryEntry entry = table[index];
      while (entry != null) {
        if (name.equals(entry.name())) {
          if (prev != null) {
            prev.next = entry.next;
          } else {
            table[index] = entry.next;
          }
  
          entry.next = null;
          entryCount--;
          entry.file().decrementLinkCount();
          return entry;
        }
  
        prev = entry;
        entry = entry.next;
      }
  
      throw new IllegalArgumentException("no entry matching '" + name + "' in this directory");
    }
docs: Removes and returns the entry for the given name from the directory.
  
  @throws IllegalArgumentException if there is no entry with the given name in the directory