public < T extends Object > void forEachWithShortcut ( final ITreeAppendable appendable , final Iterable < T > elements , final Procedure1 < ? super T > procedure ) { int _size = IterableExtensions . size ( elements ) ; boolean _equals = ( _size == 1 ) ; if ( _equals ) { T _head = IterableExtensions . < T > head ( elements ) ; ObjectExtensions . < T > operator_doubleArrow ( _head , procedure ) ; } else { appendable . append ( "{" ) ; final Procedure1 < LoopParams > _function = ( LoopParams it ) -> { it . setPrefix ( " " ) ; it . setSeparator ( ", " ) ; it . setSuffix ( " " ) ; } ; this . < T > forEach ( appendable , elements , _function , procedure ) ; appendable . append ( "}" ) ; } }
Uses curly braces and comma as delimiters . Doesn t use them for single valued iterables .