elk-util-parent/elk-util-collections/src/main/java/org/semanticweb/elk/util/collections/ArraySlicedSet.java
static void changeFragment(byte sl, int[] masks, int pos, int diff) {
		int shift = (5 - sl);
		int p = pos >> shift;
		int r = (p << shift) ^ pos;
		masks[p] ^= diff << (r << sl);
	}
static void changeFragment(byte sl, int[] masks, int pos, int diff) {
		int shift = (5 - sl);
		int p = pos >> shift;
		int r = (p << shift) ^ pos;
		masks[p] ^= diff << (r << sl);
	}
Changes the fragment that corresponds to the encoding of membership of an
element at the given position. The change is specified by the bits of the
last parameter: bit 1 means the corresponding value of the fragment
should flip, bit 0 means it should stay the same.

@param sl
the logarithm of the number of slices
@param masks
the table storing all masks encoding the membership of
elements in slices
@param pos
the position of an element in the table for which the fragment
should be changed
@param diff
the sequence of bits that describes the change; the new
fragment is obtained by applying bitwise XOR operation