/** * Combines the <code>lower</code> and the <code>upper</code> {@link Dockable} * to one {@link Dockable}, and replaces the <code>lower</code> with * this new Dockable. There are no checks whether this station * {@link #accept(Dockable) accepts} the new child or the children * can be combined. The creation of the new {@link Dockable} is done * by the {@link #getCombiner() combiner}. * @param lower a {@link Dockable} which must be child of this station * @param upper a {@link Dockable} which may be child of this station */ public void combine( Dockable lower, Dockable upper ){ combine( lower, upper, null ); }
combine( info, info.combiner, property );
Dockable old = best.getDockable(); if( old.accept( this, dockable ) && dockable.accept( this, old ) && (acceptance == null || acceptance.accept( this, old, dockable ))){ combine( old, dockable, property.getSuccessor() ); done = true;