code: private int getCE(int sourcece) {
          // note for tertiary we can't use the collator->tertiaryMask, that
          // is a preprocessed mask that takes into account case options. since
          // we are only concerned with exact matches, we don't need that.
          sourcece &= ceMask_;
  
          if (toShift_) {
              // alternate handling here, since only the 16 most significant digits
              // is only used, we can safely do a compare without masking
              // if the ce is a variable, we mask and get only the primary values
              // no shifting to quartenary is required since all primary values
              // less than variabletop will need to be masked off anyway.
              if (variableTop_ > sourcece) {
                  if (strength_ >= Collator.QUATERNARY) {
                      sourcece &= PRIMARYORDERMASK;
                  } else {
                      sourcece = CollationElementIterator.IGNORABLE;
                  }
              }
          } else if (strength_ >= Collator.QUATERNARY && sourcece == CollationElementIterator.IGNORABLE) {
              sourcece = 0xFFFF;
          }
  
          return sourcece;
      }
docs: Getting the modified collation elements taking into account the collation
  attributes.
  
  @param sourcece
  @return the modified collation element