public static List < List < Argument > > sort ( List < Argument > args ) { int i ; int max ; List < List < Argument > > result ; List < RelatedArgument > remaining ; // List of RelatedArguments List < RelatedArgument > heads ; // List of RelatedArguments result = new ArrayList < List < Argument > > ( ) ; remaining = createRelatedArgs ( args ) ; while ( true ) { max = remaining . size ( ) ; if ( max == 0 ) { return result ; } heads = new ArrayList < RelatedArgument > ( ) ; for ( i = 0 ; i < max ; i ++ ) { addHead ( heads , remaining . get ( i ) ) ; } remaining . clear ( ) ; result . add ( separate ( heads , remaining ) ) ; } }
Returns the sorted list of lists of arguments .