+ left.add(e);
+ }
+ public void add(E e, boolean swap) {
+ if (e.bg != null) {
+ if (e.bg == this) return;
+ for(E ex : (!swap ? e.bg.left : e.bg.right)) {
+ ex.bg = this;
+ left.add(ex);
+ }
+ for(E ex : (!swap ? e.bg.right : e.bg.left)) {
+ ex.bg = this;
+ right.add(ex);
+ }
+ } else {
+ (!swap ? left : right).add(e);
+ e.bg = this;