diff --git a/editor_basics/resources/META-INF/plugin.xml b/editor_basics/resources/META-INF/plugin.xml
index c919b7e3d..c2a0976f2 100644
--- a/editor_basics/resources/META-INF/plugin.xml
+++ b/editor_basics/resources/META-INF/plugin.xml
@@ -29,6 +29,10 @@
description="Illustrates how to plug an action in">
+
+
+
\ No newline at end of file
diff --git a/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorHandlerIllustration.java b/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorHandlerIllustration.java
new file mode 100644
index 000000000..ae2917bd7
--- /dev/null
+++ b/editor_basics/src/org/jetbrains/plugins/editor/basics/EditorHandlerIllustration.java
@@ -0,0 +1,31 @@
+package org.jetbrains.plugins.editor.basics;
+
+import com.intellij.openapi.actionSystem.AnAction;
+import com.intellij.openapi.actionSystem.AnActionEvent;
+import com.intellij.openapi.actionSystem.CommonDataKeys;
+import com.intellij.openapi.actionSystem.IdeActions;
+import com.intellij.openapi.editor.Editor;
+import com.intellij.openapi.editor.actionSystem.EditorActionHandler;
+import com.intellij.openapi.editor.actionSystem.EditorActionManager;
+import com.intellij.openapi.project.Project;
+
+/**
+ * @author Anna Bulenkova
+ */
+public class EditorHandlerIllustration extends AnAction {
+ @Override
+ public void actionPerformed(AnActionEvent anActionEvent) {
+ final Editor editor = anActionEvent.getRequiredData(CommonDataKeys.EDITOR);
+ EditorActionManager actionManager = EditorActionManager.getInstance();
+ //Insert one more caret below the active caret
+ EditorActionHandler actionHandler = actionManager.getActionHandler(IdeActions.ACTION_EDITOR_CLONE_CARET_BELOW);
+ actionHandler.execute(editor, editor.getCaretModel().getCurrentCaret(), anActionEvent.getDataContext());
+ }
+ @Override
+ public void update(final AnActionEvent e) {
+ //Set visible if at least one caret is available
+ final Project project = e.getData(CommonDataKeys.PROJECT);
+ final Editor editor = e.getData(CommonDataKeys.EDITOR);
+ e.getPresentation().setVisible((project != null && editor != null && !editor.getCaretModel().getAllCarets().isEmpty()));
+ }
+}