/**
   * Devuelve una lista con todos los enlaces
   *
   * @param alsoRemoveLinks Si este flag está a <tt>true</tt> tambien se copian los nodos marcados
   *     como eliminados
   * @return lista con todos los enlaces
   * @throws Exception
   */
  protected FolderTokenFdrLinks getAllFolderLinks(boolean alsoRemoveLinks) throws Exception {
    int i;
    FolderTokenFdrLinks links = new FolderTokenFdrLinks();
    FolderTokenFdrLink link;
    boolean addLink;

    for (i = 0; i < count(); i++) {
      addLink = true;

      link = get(i);

      if (link.isRemove() && !alsoRemoveLinks) {
        addLink = false;
      }

      if (addLink) links.add(link);
    }

    return links;
  }
  /**
   * Devuelve una lista con los enlaces hijos del nodo especificado
   *
   * @param parentId identificador del nodo padre
   * @param alsoRemoveChildren Si este flag está a <tt>true</tt> tambien se copian los nodos
   *     marcados como eliminados
   * @return lista de enlaces hijos del nodo especificado
   * @throws Exception
   */
  public FolderTokenFdrLinks getChildren(int parentId, boolean alsoRemoveChildren)
      throws Exception {
    int i;
    FolderTokenFdrLinks links = new FolderTokenFdrLinks();
    FolderTokenFdrLink link;
    boolean addLink;

    for (i = 0; i < count(); i++) {
      link = get(i);

      if (link.getParentId() == parentId) {
        addLink = true;

        if (!alsoRemoveChildren && link.isRemove()) addLink = false;

        if (addLink) links.add(link);
      }
    }

    return links;
  }