private CopyContextMap removeAll()

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;
        }