class EncryptorService {

	public void reconfigure(String newMasterPassword) {
		checkMasterPassword(newMasterPassword);
		synchronized (configurationLock) {
			checkState(isConfigured(), "Encryption must be configured to reset the master password");
			checkState(isInitialized(), "Encryption must be initialized to reset the master password");

			encryptorListener.aboutToChangeEncryptor();
			setMasterPassword(newMasterPassword);
			encryptorListener.encryptorChanged();
		}
	}

	@Inject public  EncryptorService(SettingsService settingsService, EncryptorProviderService encryptorProviderService,
			EncryptorListener encryptorListener);

}