Buggy code:
public class CreditContractMask extends BusinessMask < CreditContract > implements Editor < CreditContract > { static final int MIN_DAYS = 28 ; private DateHandler dateHandler = new DateHandler ( ) ; private Integer numberOfContractsPerDay = 0 ; interface CustomerEditorDriver extends SimpleBeanEditorDriver < CreditContract , CreditContractMask > { } private final CreditContractMask . CustomerEditorDriver editorDriver = GWT . create ( CreditContractMask . CustomerEditorDriver . class ) ; interface CreditContractMaskUiBinder extends UiBinder < Widget , CreditContractMask > { } private static final CreditContractMask . CreditContractMaskUiBinder uiBinder = GWT . create ( CreditContractMask . CreditContractMaskUiBinder . class ) ; @ Ignore @ UiField BOSelectListBox < CreditContract , Integer > credit_contracts ; @ Ignore @ UiField TextBox search_contract_number ; @ UiField Button search ; @ UiField Button determine_rate ; @ Path ( "contractNumber" ) @ UiField TextBox contractNumber ; @ Path ( "status" ) @ UiField EnumSelectListBox < CreditContractStatus > status ; @ Path ( "runtime" ) @ UiField IntegerBox runtime ; @ Path ( "creditAmount" ) @ UiField IntegerBox creditAmount ; @ Path ( "contractBegin" ) @ UiField DatePicker contractBegin ; @ Path ( "annuityRental" ) @ UiField IntegerBox annuityRental ; @ Path ( "residualDebt" ) @ UiField IntegerBox residualDebt ; @ Path ( "iban" ) @ UiField TextBox iban ; @ Path ( "bic" ) @ UiField TextBox bic ; @ Path ( "rate.rateNumber" ) @ UiField TextBox rateNumber ; @ Path ( "rate.interestRate" ) @ UiField DoubleBox interest_rate ; @ Path ( "rate.runtime" ) @ UiField IntegerBox rate_runtime ; @ Path ( "rate.creditAmountFrom" ) @ UiField IntegerBox amount_from ; @ Path ( "rate.creditAmountTo" ) @ UiField IntegerBox amount_to ; @ Path ( "rate.validFrom" ) @ UiField TextBox valid_from ; @ Path ( "rate.validTo" ) @ UiField TextBox valid_to ; @ Path ( "rate.validityLevel" ) @ UiField EnumSelectListBox < ValidityLevel > validity ; @ UiField Button save_changes ; @ UiField Button discard_changes ; @ UiField Button rejected_deadline ; @ UiField Button rejected_validity ; @ UiField Button revocation ; @ Ignore @ UiField BOSelectListBox < Payment , Integer > payments ; @ UiField Button select_payment ; @ UiField Button outpayment ; @ UiField Button rate ; public CreditContractMask ( TransactionType transactionType ) { } public CreditContractMask ( CreditContract c , TransactionType transactionType ) { } private void setWidgetPropertiesByTransactionType ( TransactionType transactionType ) { } public CreditContractMask ( CreditContract c , boolean show_only , TransactionType transactionType ) { } public void setBO ( CreditContract c ) { } @ Override protected void saveBO ( ) { } @ UiHandler ( "rate" ) protected void onRateClick ( ClickEvent event ) { } @ UiHandler ( "outpayment" ) protected void onOutpaymentClick ( ClickEvent event ) { } private void refreshPayments ( ) { } @ UiHandler ( "rejected_deadline" ) protected void onRejectedDeadlineClick ( ClickEvent event ) { } @ UiHandler ( "rejected_deadline" ) protected void onRejectedValidityClick ( ClickEvent event ) { } @ UiHandler ( "revocation" ) protected void onRevocationClick ( ClickEvent event ) { } @ UiHandler ( "select_credit_contract" ) protected void onSelectCreditContractClick ( ClickEvent event ) { } @ UiHandler ( "search" ) protected void onSearchClick ( ClickEvent event ) { } @ UiHandler ( "determine_rate" ) protected void onDetermineRateClick ( ClickEvent event ) { } @ UiHandler ( "discard_changes" ) protected void onDiscardCreditContractClick ( ClickEvent event ) { } private void setNewContractNumber ( ) { } @ UiHandler ( "save_changes" ) protected void onSaveCreditContractClick ( ClickEvent event ) { getFlowControl ( ) . update ( this ) ; switch ( getTransactionType ( ) ) { case Kreditangebot_erstellen : if ( ( this . getBO ( ) . getRate ( ) ) != null ) { this . getBO ( ) . setStatus ( Angebot ) ; this . status . setValue ( Angebot ) ; this . getBO ( ) . setResidualDebt ( this . getBO ( ) . getCreditAmount ( ) ) ; this . residualDebt . setValue ( this . getBO ( ) . getCreditAmount ( ) ) ; this . saveBO ( ) ; Window . alert ( "Kreditangebotsunterlagen<seq2seq4repair_space>versandt!" ) ; } else <START_BUG> Window . alert ( "Sie<seq2seq4repair_space>müssen<seq2seq4repair_space>vorher<seq2seq4repair_space>einen<seq2seq4repair_space>Tarif<seq2seq4repair_space>auswählen" ) ; <END_BUG> break ; case Kreditantrag_pruefen : this . getBO ( ) . setBic ( bic . getValue ( ) ) ; this . getBO ( ) . setIban ( iban . getValue ( ) ) ; if ( ( ( ( ( this . getBO ( ) . getBic ( ) ) != null ) && ( ! ( this . getBO ( ) . getBic ( ) . isEmpty ( ) ) ) ) && ( ( this . getBO ( ) . getIban ( ) ) != null ) ) && ( ! ( this . getBO ( ) . getIban ( ) . isEmpty ( ) ) ) ) { this . getBO ( ) . setStatus ( Ausgefertigt ) ; this . status . setValue ( Ausgefertigt ) ; this . saveBO ( ) ; Window . alert ( "Kreditvertrag<seq2seq4repair_space>ausgefertigt!" ) ; } else Window . alert ( "Geben<seq2seq4repair_space>Sie<seq2seq4repair_space>eine<seq2seq4repair_space>IBAN<seq2seq4repair_space>und<seq2seq4repair_space>eine<seq2seq4repair_space>BIC<seq2seq4repair_space>ein!" ) ; break ; default : Window . alert ( "Keine<seq2seq4repair_space>Änderungen<seq2seq4repair_space>möglich." ) ; break ; } } protected void refreshCreditContracts ( ) { } protected void refreshCreditContractStatus ( ) { } protected void refreshValidityLevel ( ) { } @ Override public void refresh ( ) { } }

Fix:
Window . alert ( "Sie<seq2seq4repair_space>müssen<seq2seq4repair_space>vorher<seq2seq4repair_space>einen<seq2seq4repair_space>Tarisaf<seq2seq4repair_space>auswählen" ) ;