Suspendable function ( Suspendable ... arg0 ) { switch ( arg0 . length ) { case 0 : throw new IllegalArgumentException ( "srini_string" ) ; case 1 : return arg0 [ 0 ] ; case 2 : return new BiSuspendable ( arg0 [ 0 ] , arg0 [ 1 ] ) ; default : return new MultiSuspendable ( arg0 ) ; } }
returns a @linkplain suspendable that combines all the given @linkplain suspendable s into one . when that combined @linkplain suspendable is suspended , all participating @linkplain suspendable s are suspended , in the given order . when resumed , all participating @linkplain suspendable s are resumed , in reverse order . concode_field_sep Suspendable[] suspendables concode_elem_sep Suspendable s1 concode_elem_sep Suspendable s2 concode_field_sep Guard suspend concode_elem_sep Guard suspend concode_elem_sep Guard suspend concode_elem_sep void suspendWhile concode_elem_sep U suspendWhile