@Override
  public @NonNls String toString() {
    VfsData owningVfsData = getSegment().owningVfsData;
    //don't use .owningPersistentFS() since it throws assertion if pFS not own current segment anymore,
    // but here we want to return some string always:
    PersistentFSImpl persistentFs = owningVfsData.owningPersistentFS();
    if (!persistentFs.isOwnData(owningVfsData)) {
      //PersistentFSImpl re-creates VfsData on (re-)connect
      return "'Alien' file object: was created before PersistentFS (re-)connected " +
             "(id=" + myId + ", parent=" + myParent + ")";
    }

    if (exists()) {
      return getUrl();
    }

    String reason = getInvalidationReason(this);
    return getUrl() + " (invalid" + (reason == null ? "" : ", reason: " + reason) + ")";
  }
@Override
  public @NonNls String toString()