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;
}

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 ; }
break the given patch command into its constituent pieces . the pieces are delimited by noop commands .
