code: void unlinkEntry(FatLfnDirectoryEntry entry) {
          final ShortName sn = entry.realEntry.getShortName();
          
          if (sn.equals(ShortName.DOT) || sn.equals(ShortName.DOT_DOT)) throw
                  new IllegalArgumentException(
                      "the dot entries can not be removed");
  
          final String lowerName = entry.getName().toLowerCase(Locale.ROOT);
  
          assert (this.longNameIndex.containsKey(lowerName));
          this.longNameIndex.remove(lowerName);
          
          assert (this.shortNameIndex.containsKey(sn));
          this.shortNameIndex.remove(sn);
          this.usedNames.remove(sn.asSimpleString().toLowerCase(Locale.ROOT));
          
          assert (this.usedNames.contains(lowerName));
          this.usedNames.remove(lowerName);
          
          if (entry.isFile()) {
              this.entryToFile.remove(entry.realEntry);
          } else {
              this.entryToDirectory.remove(entry.realEntry);
          }
      }
docs: Unlinks the specified entry from this directory without actually
  deleting it.
  
  @param e the entry to be unlinked
  @see #linkEntry(de.waldheinz.fs.fat.FatLfnDirectoryEntry)