/**
   * Tries to load the record #N by using the shortcut.
   *
   * @return null if the data failed to load.
   */
  protected R load(int n, Index editInPlace) {
    R r = null;
    File shortcut = new File(dir, String.valueOf(n));
    if (shortcut.isDirectory()) {
      synchronized (this) {
        r = load(shortcut, editInPlace);

        // make sure what we actually loaded is #n,
        // because the shortcuts can lie.
        if (r != null && getNumberOf(r) != n) r = null;

        if (r == null) {
          // if failed to locate, record that fact
          SortedIntList update = new SortedIntList(numberOnDisk);
          update.removeValue(n);
          numberOnDisk = update;
        }
      }
    }
    return r;
  }