question: public CharSequence [ ] decompose ( CharSequence cmd ) { int parts = 0 ; for ( int i = 0 ; 0 <= i && i < cmd . length ( ) ; ) { int next = dashEven ( cmd , i ) ; if ( i == next ) { parts ++ ; i = next + 2 ; } else { parts ++ ; i = next ; } } CharSequence part [ ] = new CharSequence [ parts ] ; int x = 0 ; for ( int i = 0 ; 0 <= i && i < cmd . length ( ) ; ) { int next = dashEven ( cmd , i ) ; if ( i == next ) { part [ x ++ ] = cmd . subSequence ( i , i + 2 ) ; i = next + 2 ; } else { part [ x ++ ] = ( next < 0 ) ? cmd . subSequence ( i , cmd . length ( ) ) : cmd . subSequence ( i , next ) ; i = next ; } } return part ; }
target:  Break the given patch command into its constituent pieces. The pieces are delimited by NOOP commands.