code: @Nullable
      public File deleteFile(@NotNull final Transaction txn, @NotNull final String path) {
          final ArrayByteIterable key = StringBinding.stringToEntry(path);
          final ByteIterable fileMetadata;
          try (Cursor cursor = pathnames.openCursor(txn)) {
              fileMetadata = cursor.getSearchKey(key);
              if (fileMetadata != null) {
                  cursor.deleteCurrent();
              }
          }
          if (fileMetadata != null) {
              final File result = new File(path, fileMetadata);
              // at first delete contents
              try (ClusterIterator iterator = new ClusterIterator(this, txn, result)) {
                  while (iterator.hasCluster()) {
                      iterator.deleteCurrent();
                      iterator.moveToNext();
                  }
              }
              return result;
          }
          return null;
      }
docs: Deletes existing file with the specified {@code path}.
  
  @param txn  {@linkplain Transaction} instance
  @param path file path
  @return deleted {@linkplain File} or {@code null} if no file with specified {@code path}exists.
  @see File