private long widenBits(int targetMod) {
      assert targetMod <= Long.SIZE && targetMod % myMod == 0;
      long result = myBits;
      for (int shift = targetMod - myMod; shift > 0; shift -= myMod) {
        result |= myBits << shift;
      }
      return result;
    }
private long widenBits(int targetMod)