private static char[] zzUnpackCMap(String packed){
  int size=0;
  for (int i=0, length=packed.length(); i < length; i+=2) {
    size+=packed.charAt(i);
  }
  char[] map=new char[size];
  int i=0;
  int j=0;
  while (i < packed.length()) {
    int count=packed.charAt(i++);
    char value=packed.charAt(i++);
    do     map[j++]=value;
 while (--count > 0);
  }
  return map;
}

private static char [ ] zzUnpackCMap ( String packed ) { int size = 0 ; for ( int i = 0 , length = packed . length ( ) ; i < length ; i += 2 ) { size += packed . charAt ( i ) ; } char [ ] map = new char [ size ] ; int i = 0 ; int j = 0 ; while ( i < packed . length ( ) ) { int count = packed . charAt ( i ++ ) ; char value = packed . charAt ( i ++ ) ; do map [ j ++ ] = value ; while ( -- count > 0 ) ; } return map ; }
unpacks the compressed character translation table .
