Adding and removing constraints for HL

You can add constraints to the Hierarchical Layout in Java™ . You allocate a new constraint object and call this method on the IlvHierarchicalLayout instance:
void addConstraint(IlvHierarchicalConstraint constraint);
You can add as many constraints as you want. The constraints are respected during the subsequent layout calls until you remove them. To remove the most recent constraint, call:
void removeConstraint();
To remove a specific constraint, call:
void removeConstraint(IlvHierarchicalConstraint constraint);
To remove all existing constraints, call:
void removeAllConstraints();
You can retrieve the constraints that were added to a Hierarchical Layout with the method:
Enumeration getConstraints()  

Node groups

Some constraints affect single nodes. Other constraints affect groups of nodes. The class IlvNodeGroup is a convenient way to specify a group of nodes in Java. You can create a group of nodes in the following way:
group = new IlvNodeGroup();
while (...) {
    group.add(node);
}
A node group has a similar functionality to a vector. You can ask for the size and elements of the group, remove elements from the group, or check whether a node already belongs to the group. You can also convert a vector of nodes into a group:
group.add(node)
Adds a node to the group.
group.remove(node)
Removes a node from the group.
group.contains(node)
Checks whether a node is in the group.
group.size()
Returns the number of nodes in the group.
group.elements()
Returns the nodes of the group as an Enumeration.
group = new IlvNodeGroup(vector)
Creates a group that contains the nodes stored in the input vector.