void () { if (getSelectedNodes().size() != 1) { return; } final IProperty selectedProperty = getSelectedProperty(); if (selectedProperty == null) { return; } final ResourceBundleFileStructureViewElement root = (ResourceBundleFileStructureViewElement)myStructureViewComponent.getTreeModel().getRoot(); final Set<String> propertyKeys = ResourceBundleFileStructureViewElement.getPropertiesMap(myResourceBundle, root.isShowOnlyIncomplete()).keySet(); final boolean isAlphaSorted = myStructureViewComponent.isActionActive(Sorter.ALPHA_SORTER_ID); List<String> keysOrder = isAlphaSorted ? ContainerUtil.sorted(propertyKeys) : new ArrayList<>(propertyKeys); final String currentKey = selectedProperty.getKey(); final int idx = keysOrder.indexOf(currentKey); LOG.assertTrue(idx != -1); final IncompletePropertyInspection incompletePropertyInspection = IncompletePropertyInspection.getInstance(myResourceBundle.getDefaultPropertiesFile().getContainingFile()); for (int i = 1; i < keysOrder.size(); i++) { int trimmedIndex = (i + idx) % keysOrder.size(); final String key = keysOrder.get(trimmedIndex); if (!incompletePropertyInspection.isPropertyComplete(key, myResourceBundle)) { selectProperty(key); return; } } }