Buggy code:
public class MetadatenVerifizierung { UghHelper ughhelp = new UghHelper ( ) ; List < DocStruct > docStructsOhneSeiten ; Prozess myProzess ; boolean autoSave = false ; public boolean validate ( Prozess inProzess ) { } public boolean validate ( Fileformat gdzfile , Prefs inPrefs , Prozess inProzess ) { String metadataLanguage = ( ( String ) ( Helper . getManagedBeanValue ( "#{LoginForm.myBenutzer.metadatenSprache}" ) ) ) ; this . myProzess = inProzess ; boolean ergebnis = true ; DigitalDocument dd = null ; try { dd = gdzfile . getDigitalDocument ( ) ; } catch ( Exception e ) { Helper . setFehlerMeldung ( ( ( Helper . getTranslation ( "MetadataDigitalDocumentError" ) ) + ( inProzess . getTitel ( ) ) ) , e . getMessage ( ) ) ; ergebnis = false ; } DocStruct logical = dd . getLogicalDocStruct ( ) ; if ( ( ( logical . getAllIdentifierMetadata ( ) ) != null ) && ( ( logical . getAllIdentifierMetadata ( ) . size ( ) ) > 0 ) ) { Metadata identifierTopStruct = logical . getAllIdentifierMetadata ( ) . get ( 0 ) ; try { if ( ! ( identifierTopStruct . getValue ( ) . replaceAll ( ConfigMain . getParameter ( "validateIdentifierRegex" , "[\\w|-]" ) , "" ) . equals ( "" ) ) ) { List < String > parameter = new ArrayList < String > ( ) ; parameter . add ( identifierTopStruct . getType ( ) . getNameByLanguage ( metadataLanguage ) ) ; parameter . add ( logical . getType ( ) . getNameByLanguage ( metadataLanguage ) ) ; Helper . setFehlerMeldung ( Helper . getTranslation ( "InvalidIdentifierCharacter" , parameter ) ) ; ergebnis = false ; } DocStruct firstChild = logical . getAllChildren ( ) . get ( 0 ) ; Metadata identifierFirstChild = firstChild . getAllIdentifierMetadata ( ) . get ( 0 ) ; if ( ( ( ( identifierTopStruct . getValue ( ) ) != null ) && ( ( identifierTopStruct . getValue ( ) ) != "" ) ) && ( identifierTopStruct . getValue ( ) . equals ( identifierFirstChild . getValue ( ) ) ) ) { List < String > parameter = new ArrayList < String > ( ) ; parameter . add ( identifierTopStruct . getType ( ) . getName ( ) ) ; parameter . add ( logical . getType ( ) . getName ( ) ) ; parameter . add ( firstChild . getType ( ) . getName ( ) ) ; Helper . setFehlerMeldung ( Helper . getTranslation ( "InvalidIdentifierSame" , parameter ) ) ; ergebnis = false ; } if ( ! ( identifierFirstChild . getValue ( ) . replaceAll ( ConfigMain . getParameter ( "validateIdentifierRegex" , "[\\w|-]" ) , "" ) . equals ( "" ) ) ) { List < String > parameter = new ArrayList < String > ( ) ; <START_BUG> parameter . add ( identifierTopStruct . getType ( ) . getNameByLanguage ( metadataLanguage ) ) ; <END_BUG> parameter . add ( firstChild . getType ( ) . getNameByLanguage ( metadataLanguage ) ) ; Helper . setFehlerMeldung ( Helper . getTranslation ( "InvalidIdentifierCharacter" , parameter ) ) ; ergebnis = false ; } } catch ( Exception e ) { } } else { Helper . setFehlerMeldung ( Helper . getTranslation ( "MetadataMissingIdentifier" ) ) ; ergebnis = false ; } if ( ! ( this . isValidPathImageFiles ( dd . getPhysicalDocStruct ( ) , inPrefs ) ) ) { ergebnis = false ; } DocStruct logicalTop = dd . getLogicalDocStruct ( ) ; if ( logicalTop == null ) { Helper . setFehlerMeldung ( ( ( ( inProzess . getTitel ( ) ) + ":<seq2seq4repair_space>" ) + ( Helper . getTranslation ( "MetadataPaginationError" ) ) ) ) ; ergebnis = false ; } this . docStructsOhneSeiten = new ArrayList < DocStruct > ( ) ; this . checkDocStructsOhneSeiten ( logicalTop ) ; if ( ( this . docStructsOhneSeiten . size ( ) ) != 0 ) { for ( Iterator < DocStruct > iter = this . docStructsOhneSeiten . iterator ( ) ; iter . hasNext ( ) ; ) { DocStruct ds = iter . next ( ) ; Helper . setFehlerMeldung ( ( ( ( ( inProzess . getTitel ( ) ) + ":<seq2seq4repair_space>" ) + ( Helper . getTranslation ( "MetadataPaginationStructure" ) ) ) + ( ds . getType ( ) . getNameByLanguage ( metadataLanguage ) ) ) ) ; } ergebnis = false ; } List < String > seitenOhneDocstructs = null ; try { seitenOhneDocstructs = checkSeitenOhneDocstructs ( gdzfile ) ; } catch ( PreferencesException e1 ) { Helper . setFehlerMeldung ( ( ( "[" + ( inProzess . getTitel ( ) ) ) + "]<seq2seq4repair_space>Can<seq2seq4repair_space>not<seq2seq4repair_space>check<seq2seq4repair_space>pages<seq2seq4repair_space>without<seq2seq4repair_space>docstructs:<seq2seq4repair_space>" ) ) ; ergebnis = false ; } if ( ( seitenOhneDocstructs != null ) && ( ( seitenOhneDocstructs . size ( ) ) != 0 ) ) { for ( Iterator < String > iter = seitenOhneDocstructs . iterator ( ) ; iter . hasNext ( ) ; ) { String seite = iter . next ( ) ; Helper . setFehlerMeldung ( ( ( ( inProzess . getTitel ( ) ) + ":<seq2seq4repair_space>" ) + ( Helper . getTranslation ( "MetadataPaginationPages" ) ) ) , seite ) ; } ergebnis = false ; } List < String > mandatoryList = checkMandatoryValues ( dd . getLogicalDocStruct ( ) , new ArrayList < String > ( ) , metadataLanguage ) ; if ( ( mandatoryList . size ( ) ) != 0 ) { for ( Iterator < String > iter = mandatoryList . iterator ( ) ; iter . hasNext ( ) ; ) { String temp = iter . next ( ) ; Helper . setFehlerMeldung ( ( ( ( inProzess . getTitel ( ) ) + ":<seq2seq4repair_space>" ) + ( Helper . getTranslation ( "MetadataMandatoryElement" ) ) ) , temp ) ; } ergebnis = false ; }

Fix:
parameter . add ( identifierFirstChild . getType ( ) . getNameByLanguage ( metadataLanguage ) ) ;