question: private static void collectAllTimes ( Tree tree , NodeRef node , NodeRef [ ] excludeBelow , ArrayList times , ArrayList < Integer > childs ) { times . add ( new ComparableDouble ( tree . getNodeHeight ( node ) ) ) ; childs . add ( tree . getChildCount ( node ) ) ; for ( int i = 0 ; i < tree . getChildCount ( node ) ; i ++ ) { NodeRef child = tree . getChild ( node , i ) ; if ( excludeBelow == null ) { collectAllTimes ( tree , child , excludeBelow , times , childs ) ; } else { boolean include = true ; for ( NodeRef anExcludeBelow : excludeBelow ) { if ( anExcludeBelow . getNumber ( ) == child . getNumber ( ) ) { include = false ; break ; } } if ( include ) collectAllTimes ( tree , child , excludeBelow , times , childs ) ; } } }
target:  extract coalescent times and tip information into ArrayList times from tree.