private void selectCategory(CategoryHandle category, VisualConnection node) {

    if (!node.equals(root) && node.getNode().getToCategory().equals(category))
      for (VisualConnection child : node.getChildren()) selectDown(child);
    else for (VisualConnection child : node.getChildren()) selectCategory(category, child);
  }
 public void findCategoryBarNode(CategoryHandle category, VisualConnection node) {
   if (!node.equals(root) && node.getNode().getToCategory().equals(category)) {
     test = node;
   } else for (VisualConnection child : node.getChildren()) findCategoryBarNode(category, child);
 }
  private void selectUp(VisualConnection connection) {

    connection.setSelected(true);

    if (!connection.equals(root)) selectUp(connection.getParent());
  }