class Directory implements Serializable {

  public File relativeFile(final File file, final boolean mustBeChild) {

    final File f;

    if (file.isAbsolute()) {
      f = file;
    }
    else if (!mustBeChild) {
      return file;
    }
    else {
      f = getFile(file);
    }

    return relativePath(getFile(), f, mustBeChild);
  }

  public  Directory();
  public  Directory(final File directory);

}