private void fill( Dockable dockable, List<Dockable> list ){ if( shouldShow( dockable )){ list.add( dockable ); } DockStation station = dockable.asDockStation(); if( station != null ){ for( int i = 0, n = station.getDockableCount(); i<n; i++ ){ fill( station.getDockable( i ), list ); } } }