List<CallHandler<CallChainSimplification>> () { return Arrays.asList( CallHandler.of(STREAM_ANY_MATCH, methodCall -> { if (!isParentNegated(methodCall)) return null; boolean argNegated = isArgumentLambdaNegated(methodCall); return new SimplifyMatchNegationFix(methodCall, argNegated, true, argNegated ? ALL_MATCH_METHOD : NONE_MATCH_METHOD); }), CallHandler.of(STREAM_NONE_MATCH, methodCall -> isParentNegated(methodCall) ? new SimplifyMatchNegationFix(methodCall, false, true, ANY_MATCH_METHOD) : null), CallHandler.of(STREAM_NONE_MATCH, methodCall -> isArgumentLambdaNegated(methodCall) ? new SimplifyMatchNegationFix(methodCall, true, false, ALL_MATCH_METHOD) : null), CallHandler.of(STREAM_ALL_MATCH, methodCall -> { if (!isArgumentLambdaNegated(methodCall)) return null; boolean parentNegated = isParentNegated(methodCall); return new SimplifyMatchNegationFix(methodCall, true, parentNegated, parentNegated ? ANY_MATCH_METHOD : NONE_MATCH_METHOD); }) ); }