code: public T link(T dest) throws LinkException {
          if (!getClass().equals(dest.getClass())) {
              throw new IllegalArgumentException(this.getClass() + " vs " + dest.getClass());
          }
          try {
              checkExists();
          } catch (IOException e) {
              throw new LinkException(this, e);
          }
          // TODO: getRoot() for ssh root ...
          dest.mklink(Filesystem.SEPARATOR_STRING + this.getPath());
          return dest;
      }
docs: Creates an absolute link dest pointing to this. The signature of this method resembles the copy method.
  
  @param dest link to be created
  @return dest;