code: long firstCEWithPrimaryAtLeast(long p) {
          if(p == 0) { return 0; }
          int index = findP(p);
          if(p != (elements[index] & 0xffffff00L)) {
              for(;;) {
                  p = elements[++index];
                  if((p & SEC_TER_DELTA_FLAG) == 0) {
                      // First primary after p. We must not be in a primary range.
                      assert((p & PRIMARY_STEP_MASK) == 0);
                      break;
                  }
              }
          }
          // The code above guarantees that p has at most 3 bytes: (p & 0xff) == 0.
          return (p << 32) | Collation.COMMON_SEC_AND_TER_CE;
      }
docs: Returns the first root CE with a primary weight of at least p.
  Intended only for reordering group boundaries.