code: private int findOrInsertNodeForCEs(int strength) {
          assert(Collator.PRIMARY <= strength && strength <= Collator.QUATERNARY);
  
          // Find the last CE that is at least as "strong" as the requested difference.
          // Note: Stronger is smaller (Collator.PRIMARY=0).
          long ce;
          for(;; --cesLength) {
              if(cesLength == 0) {
                  ce = ces[0] = 0;
                  cesLength = 1;
                  break;
              } else {
                  ce = ces[cesLength - 1];
              }
              if(ceStrength(ce) <= strength) { break; }
          }
  
          if(isTempCE(ce)) {
              // No need to findCommonNode() here for lower levels
              // because insertTailoredNodeAfter() will do that anyway.
              return indexFromTempCE(ce);
          }
  
          // root CE
          if((int)(ce >>> 56) == Collation.UNASSIGNED_IMPLICIT_BYTE) {
              throw new UnsupportedOperationException(
                      "tailoring relative to an unassigned code point not supported");
          }
          return findOrInsertNodeForRootCE(ce, strength);
      }
docs: Picks one of the current CEs and finds or inserts a node in the graph
  for the CE + strength.