void (Project project, RunDashboardRunConfigurationNode node, Position position) { RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(project); runManager.fireBeginUpdate(); try { node.getConfigurationSettings().setFolderName(myNode.getConfigurationSettings().getFolderName()); Object2IntMap<RunnerAndConfigurationSettings> indices = new Object2IntOpenHashMap<>(); int i = 0; for (RunnerAndConfigurationSettings each : runManager.getAllSettings()) { if (each.equals(node.getConfigurationSettings())) continue; if (each.equals(myNode.getConfigurationSettings())) { if (position == Position.ABOVE) { indices.put(node.getConfigurationSettings(), i++); indices.put(myNode.getConfigurationSettings(), i++); } else if (position == Position.BELOW) { indices.put(myNode.getConfigurationSettings(), i++); indices.put(node.getConfigurationSettings(), i++); } } else { indices.put(each, i++); } } runManager.setOrder(Comparator.comparingInt(indices::getInt)); } finally { runManager.fireEndUpdate(); } }