code: private UnicodeSet xor(int[] other, int otherLen, int polarity) {
          ensureBufferCapacity(len + otherLen);
          int i = 0, j = 0, k = 0;
          int a = list[i++];
          int b;
          // TODO: Based on the call hierarchy, polarity of 1 or 2 is never used
          //      so the following if statement will not be called.
          ///CLOVER:OFF
          if (polarity == 1 || polarity == 2) {
              b = LOW;
              if (other[j] == LOW) { // skip base if already LOW
                  ++j;
                  b = other[j];
              }
              ///CLOVER:ON
          } else {
              b = other[j++];
          }
          // simplest of all the routines
          // sort the values, discarding identicals!
          while (true) {
              if (a < b) {
                  buffer[k++] = a;
                  a = list[i++];
              } else if (b < a) {
                  buffer[k++] = b;
                  b = other[j++];
              } else if (a != HIGH) { // at this point, a == b
                  // discard both values!
                  a = list[i++];
                  b = other[j++];
              } else { // DONE!
                  buffer[k++] = HIGH;
                  len = k;
                  break;
              }
          }
          // swap list and buffer
          int[] temp = list;
          list = buffer;
          buffer = temp;
          pat = null;
          return this;
      }
docs: polarity = 1, 2: x xor ~y == x === y