Buggy code:
} } if ( ( getTransSupportMetaElement ( ) ) != null ) { Set < String > visibleAttributesNames = getTransSupportMetaElement ( ) . getPanelVisibleAttributes ( ) ; List < String > listVisibleAttributes = new ArrayList < String > ( ) ; listVisibleAttributes . addAll ( visibleAttributesNames ) ; Collections . sort ( listVisibleAttributes ) ; Set < String > spacersAttributes = getTransSupportMetaElement ( ) . getPanelSpacersAttributes ( ) ; for ( String visibleAttribute : listVisibleAttributes ) { boolean validCondition = true ; int nameEnd = visibleAttribute . indexOf ( "#" , 3 ) ; int varEnd = visibleAttribute . indexOf ( "#" , ( nameEnd + 1 ) ) ; int condEnd = visibleAttribute . indexOf ( "#" , ( varEnd + 1 ) ) ; String name = visibleAttribute . substring ( 3 ) ; if ( nameEnd != ( - 1 ) ) { name = visibleAttribute . substring ( 3 , nameEnd ) ; String variable = null ; String condition = null ; String value = null ; variable = visibleAttribute . substring ( ( nameEnd + 1 ) , varEnd ) ; condition = visibleAttribute . substring ( ( varEnd + 1 ) , condEnd ) ; value = visibleAttribute . substring ( ( condEnd + 1 ) ) ; InstAttribute varValue = getInstAttributes ( ) . get ( variable ) ; if ( varValue == null ) validCondition = false ; else if ( varValue . getValue ( ) . toString ( ) . trim ( ) . equals ( value ) ) { if ( condition . equals ( "!=" ) ) validCondition = false ; } else { if ( condition . equals ( "==" ) ) validCondition = false ; } } boolean nvar = false ; if ( ( name != null ) && validCondition ) { Iterator < String > spacers = spacersAttributes . iterator ( ) ; while ( spacers . hasNext ( ) ) { String spacer = spacers . next ( ) ; if ( ( spacer . indexOf ( ( ( "#" + name ) + "#" ) ) ) != ( - 1 ) ) { nvar = true ; int sp1 = spacer . indexOf ( "#" ) ; int sp2 = spacer . indexOf ( "#" , ( sp1 + 1 ) ) ; out += spacer . substring ( 0 , sp1 ) ; if ( ( name . equals ( "name" ) ) && ( getInstAttributes ( ) . get ( name ) . toString ( ) . trim ( ) . equals ( "" ) ) ) out += "<<NoName>>" ; else { InstAttribute instAttribute = getInstAttributes ( ) . get ( name ) ; if ( instAttribute . getAttributeType ( ) . equals ( "Set" ) ) for ( InstAttribute e : ( ( Collection < InstAttribute > ) ( instAttribute . getValue ( ) ) ) ) out += ( e . toString ( ) . trim ( ) ) + "\n" ; else out += instAttribute . toString ( ) . trim ( ) ; } while ( sp2 != ( spacer . length ( ) ) ) { int sp3 = spacer . indexOf ( "#" , ( sp2 + 1 ) ) ; if ( sp3 == ( - 1 ) ) { out += spacer . substring ( ( sp2 + 1 ) ) ; break ; } out += spacer . substring ( ( sp2 + 1 ) , sp3 ) ; sp2 = sp3 ; } } } if ( ! nvar ) if ( ( name . equals ( "name" ) ) && ( getInstAttributes ( ) . get ( name ) . toString ( ) . trim ( ) . equals ( "" ) ) ) out += "<<NoName>>" ; else { InstAttribute instAttribute = getInstAttributes ( ) . get ( name ) ; if ( ( ( instAttribute . getEnumType ( ) ) != null ) && ( instAttribute . getEnumType ( ) . equals ( InstEnumeration . class . getCanonicalName ( ) ) ) ) { out += ( ( String ) ( instAttribute . getValue ( ) ) ) ; if ( ( instAttribute . getValueObject ( ) ) != null ) { Map < String , InstAttribute > o = ( ( Map < String , InstAttribute > ) ( ( ( InstEnumeration ) ( instAttribute . getValueObject ( ) ) ) . getDynamicVariable ( "InstAttribute" ) ) ) ; InstAttribute oo = o . get ( "value" ) ; <START_BUG> Set < InstAttribute > ooo = ( ( Set < InstAttribute > ) ( oo . getInstAttributeAttribute ( "Value" ) ) ) ; <END_BUG> out += "{<seq2seq4repair_space>" ; for ( InstAttribute i : ooo ) out += ( ( ( String ) ( i . getValue ( ) ) ) . substring ( 2 ) ) + ",<seq2seq4repair_space>" ; out = out . substring ( 0 , ( ( out . length ( ) ) - 1 ) ) ; out += "}" ; } } else out += instAttribute . toString ( ) . trim ( ) ; } } } if ( out . equals ( "" ) ) out = "No<seq2seq4repair_space>display<seq2seq4repair_space>attributes<seq2seq4repair_space>defined" ; } return out + out2 ; } public void addInstAttribute ( String name , AbstractAttribute modelingAttribute , Object value ) { } protected void createInstAttributes ( ) { } public void setTargetRelation ( InstElement targetRelation , boolean firstCall ) { } public void clearRelations ( ) { } public void setSourceRelation ( InstElement sourceRelation , boolean firstCall ) { } protected void removeSourceRelations ( ) { } private void removeTargetRelation ( InstElement instElement ) { } protected void removeTargetRelations ( ) { } private void removeSourceRelation ( InstElement instElement ) { } public void setOptional ( boolean optional ) { } public void clearEditableMetaVertex ( ) { } public void clearMetaPairwiseRelation ( String attribute ) { }

Fix:
Collection < InstAttribute > ooo = ( ( Collection < InstAttribute > ) ( oo . getInstAttributeAttribute ( "Value" ) ) ) ;