private void saveFile(final JavaTypeInfo newTypeInfo) { String currentFileName = DataModelerUtils.extractSimpleFileName(versionRecordManager.getPathToLatest()); if (hasPackageNameChanged(newTypeInfo)) { YesNoCancelPopup yesNoCancelPopup = YesNoCancelPopup.newYesNoCancelPopup( CommonConstants.INSTANCE.Information(), Constants.INSTANCE.modelEditor_confirm_file_package_refactoring( newTypeInfo.getPackageName()), new Command() { @Override public void execute() { saveOperationService.save( versionRecordManager.getPathToLatest(), getSaveCommand(newTypeInfo, versionRecordManager.getPathToLatest())); } }, Constants.INSTANCE.modelEditor_action_yes_refactor_directory(), ButtonType.PRIMARY, new Command() { @Override public void execute() { saveOperationService.save( versionRecordManager.getPathToLatest(), getSaveCommand(null, versionRecordManager.getPathToLatest())); } }, Constants.INSTANCE.modelEditor_action_no_dont_refactor_directory(), ButtonType.DANGER, new Command() { @Override public void execute() { // do nothing } }, null, null); yesNoCancelPopup.setClosable(false); yesNoCancelPopup.show(); } else if (hasFileNameChanged(newTypeInfo, currentFileName)) { YesNoCancelPopup yesNoCancelPopup = YesNoCancelPopup.newYesNoCancelPopup( CommonConstants.INSTANCE.Information(), Constants.INSTANCE.modelEditor_confirm_file_name_refactoring(newTypeInfo.getName()), new Command() { @Override public void execute() { saveOperationService.save( versionRecordManager.getPathToLatest(), getSaveCommand(newTypeInfo, versionRecordManager.getPathToLatest())); } }, Constants.INSTANCE.modelEditor_action_yes_refactor_file_name(), ButtonType.PRIMARY, new Command() { @Override public void execute() { saveOperationService.save( versionRecordManager.getPathToLatest(), getSaveCommand(null, versionRecordManager.getPathToLatest())); } }, Constants.INSTANCE.modelEditor_action_no_dont_refactor_file_name(), ButtonType.DANGER, new Command() { @Override public void execute() { // do nothing } }, null, null); yesNoCancelPopup.setClosable(false); yesNoCancelPopup.show(); } else { new SaveOperationService() .save( versionRecordManager.getPathToLatest(), getSaveCommand(null, versionRecordManager.getPathToLatest())); } }