DiffGutterOperation (@NotNull OperationType type) { if (isResolved()) return null; EditorEx editor = myViewer.getPatchEditor(); int line = type == OperationType.COPY ? getPatchInsertionRange().start : getPatchRange().start; int offset = DiffGutterOperation.lineToOffset(editor, line); return new DiffGutterOperation.Simple(editor, offset, () -> { return switch (type) { case APPLY -> createApplyRenderer(); case COPY -> createCopyRenderer(); case IGNORE -> createIgnoreRenderer(); }; }); }