code: private int initializePatternCETable() {
          int[] cetable = new int[INITIAL_ARRAY_SIZE_];
          int cetablesize = cetable.length;
          int patternlength = pattern_.text_.length();
          CollationElementIterator coleiter = utilIter_;
  
          if (coleiter == null) {
              coleiter = new CollationElementIterator(pattern_.text_, collator_);
              utilIter_ = coleiter;
          } else {
              coleiter.setText(pattern_.text_);
          }
  
          int offset = 0;
          int result = 0;
          int ce;
  
          while ((ce = coleiter.next()) != CollationElementIterator.NULLORDER) {
              int newce = getCE(ce);
              if (newce != CollationElementIterator.IGNORABLE /* 0 */) {
                  int[] temp = addToIntArray(cetable, offset, cetablesize, newce,
                          patternlength - coleiter.getOffset() + 1);
                  offset++;
                  cetable = temp;
              }
              result += (coleiter.getMaxExpansion(ce) - 1);
          }
  
          cetable[offset] = 0;
          pattern_.CE_ = cetable;
          pattern_.CELength_ = offset;
  
          return result;
      }
docs: TODO: We probably do not need Pattern CE table.