private List < Entry > siblingsAndBelow ( Entry oEntry ) { if ( oEntry == null ) return Collections . emptyList ( ) ; List < Entry > output = new LinkedList <> ( ) ; for ( Entry entry : getCycle ( oEntry ) ) { if ( entry != null ) { output . add ( entry ) ; output . addAll ( siblingsAndBelow ( entry . oFirstChild ) ) ; } } return output ; }
Depth - first iteration