code: private Node<E> _get_or_create_root_set(E e) {
  	Node<E> node = elmap.get(e);
  	if(node == null) {
  	    // no node yet; create one now
  	    node = new Node<E>(e);
  	    elmap.put(e, node);
  	    return node;
  	}
  	return _find_root(node);
      }
docs: If e is already in a non-trivial equivalence class (i.e., with
  more than 2 elements), then return the Node<E> corresponding
  to the representative element.  Otherwise, i.e., if e sits in
  an equivalence class by himself, then create a Node<E>(e), put
  it into elmap and return it.