in servicetalk-concurrent-api/src/main/java/io/servicetalk/concurrent/api/CopyOnWriteContextMap.java [1671:1772]
private CopyContextMap removeAll(final int removeIndexMask) {
if ((removeIndexMask & 0x1F) == 0x1F) {
return EmptyContextMap.INSTANCE;
}
if ((removeIndexMask & 0x10) == 0x10) {
if ((removeIndexMask & 0x8) == 0x8) {
if ((removeIndexMask & 0x4) == 0x4) {
if ((removeIndexMask & 0x2) == 0x2) {
return new OneContextMap(keyOne, valueOne);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new OneContextMap(keyTwo, valueTwo);
}
return new TwoContextMap(keyOne, valueOne, keyTwo, valueTwo);
}
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new OneContextMap(keyThree, valueThree);
}
return new TwoContextMap(keyOne, valueOne, keyThree, valueThree);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new TwoContextMap(keyTwo, valueTwo, keyThree, valueThree);
}
return new ThreeContextMap(keyOne, valueOne, keyTwo, valueTwo, keyThree, valueThree);
}
if ((removeIndexMask & 0x4) == 0x4) {
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new OneContextMap(keyFour, valueFour);
}
return new TwoContextMap(keyOne, valueOne, keyFour, valueFour);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new TwoContextMap(keyTwo, valueTwo, keyFour, valueFour);
}
return new ThreeContextMap(keyOne, valueOne, keyTwo, valueTwo, keyFour, valueFour);
}
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new TwoContextMap(keyThree, valueThree, keyFour, valueFour);
}
return new ThreeContextMap(keyOne, valueOne, keyThree, valueThree, keyFour, valueFour);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new ThreeContextMap(keyTwo, valueTwo, keyThree, valueThree, keyFour, valueFour);
}
return new FourContextMap(keyOne, valueOne, keyTwo, valueTwo, keyThree, valueThree,
keyFour, valueFour);
}
if ((removeIndexMask & 0x8) == 0x8) {
if ((removeIndexMask & 0x4) == 0x4) {
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new OneContextMap(keyFive, valueFive);
}
return new TwoContextMap(keyOne, valueOne, keyFive, valueFive);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new TwoContextMap(keyTwo, valueTwo, keyFive, valueFive);
}
return new ThreeContextMap(keyOne, valueOne, keyTwo, valueTwo, keyFive, valueFive);
}
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new TwoContextMap(keyThree, valueThree, keyFive, valueFive);
}
return new ThreeContextMap(keyOne, valueOne, keyThree, valueThree, keyFive, valueFive);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new ThreeContextMap(keyTwo, valueTwo, keyThree, valueThree, keyFive, valueFive);
}
return new FourContextMap(keyOne, valueOne, keyTwo, valueTwo, keyThree, valueThree,
keyFive, valueFive);
}
if ((removeIndexMask & 0x4) == 0x4) {
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new TwoContextMap(keyFour, valueFour, keyFive, valueFive);
}
return new ThreeContextMap(keyOne, valueOne, keyFour, valueFour, keyFive, valueFive);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new ThreeContextMap(keyTwo, valueTwo, keyFour, valueFour, keyFive, valueFive);
}
return new FourContextMap(keyOne, valueOne, keyTwo, valueTwo, keyFour, valueFour,
keyFive, valueFive);
}
if ((removeIndexMask & 0x2) == 0x2) {
if ((removeIndexMask & 0x1) == 0x1) {
return new ThreeContextMap(keyThree, valueThree, keyFour, valueFour,
keyFive, valueFive);
}
return new FourContextMap(keyOne, valueOne, keyThree, valueThree, keyFour, valueFour,
keyFive, valueFive);
}
if ((removeIndexMask & 0x1) == 0x1) {
return new FourContextMap(keyTwo, valueTwo, keyThree, valueThree, keyFour, valueFour,
keyFive, valueFive);
}
return null;
}