code: @Nullable
      public File openFile(@NotNull final Transaction txn, @NotNull final String path, boolean create) {
          final ArrayByteIterable key = StringBinding.stringToEntry(path);
          final ByteIterable value = pathnames.get(txn, key);
          if (value != null) {
              return new File(path, value);
          }
          if (create) {
              return createFile(txn, path);
          }
          return null;
      }
docs: Returns existing {@linkplain File} with specified path or creates the new one if {@code create} is {@code true},
  otherwise returns {@code null}. If {@code create} is {@code true} it never returns {@code null}.
  
  @param txn    {@linkplain Transaction} instance
  @param path   file path
  @param create {@code true} if new file creation is allowed
  @return existing or newly created {@linkplain File} if if {@code create} is {@code true}, or {@code null}
  @see File