void (@NotNull AnActionEvent e) { final String valueToPropagate = editor.getDocument().getText(); final String currentSelectedProperty = getSelectedPropertyName(); if (currentSelectedProperty == null) { return; } ApplicationManager.getApplication().runWriteAction(() -> WriteCommandAction.runWriteCommandAction(myProject, ResourceBundleEditorBundle.message("action.PropagateValue.text"), null, () -> { try { final PropertiesFile[] propertiesFiles = myResourceBundle.getPropertiesFiles().stream().filter(f -> { final IProperty property = f.findPropertyByKey(currentSelectedProperty); return property == null || !valueToPropagate.equals(property.getValue()); }).toArray(PropertiesFile[]::new); final PsiFile[] filesToPrepare = Arrays.stream(propertiesFiles).map(PropertiesFile::getContainingFile).toArray(PsiFile[]::new); if (FileModificationService.getInstance().preparePsiElementsForWrite(filesToPrepare)) { for (PropertiesFile file : propertiesFiles) { myPropertiesInsertDeleteManager.insertOrUpdateTranslation(currentSelectedProperty, valueToPropagate, file); } recreateEditorsPanel(); } } catch (final IncorrectOperationException e1) { LOG.error(e1); } })); }