DiffGutterOperation (@NotNull Side versionSide, @NotNull OperationType type) { ThreeSide side = versionSide.select(ThreeSide.LEFT, ThreeSide.RIGHT); return createOperation(side, (ctrlPressed, shiftPressed, altPressed) -> { if (!isChange(versionSide)) return null; if (type == OperationType.APPLY) { return createApplyRenderer(versionSide, ctrlPressed); } else { return createIgnoreRenderer(versionSide, ctrlPressed); } }); }