Buggy code:
@ SuppressWarnings ( "unused" ) public class UmpleClassGenerator { protected static String nl ; public static synchronized UmpleClassGenerator create ( String lineSeparator ) { } public final String NL = ( ( UmpleClassGenerator . nl ) == null ) ? System . getProperties ( ) . getProperty ( "line.separator" ) : UmpleClassGenerator . nl ; protected final String TEXT_1 = ( "//*PLEASE<seq2seq4repair_space>DO<seq2seq4repair_space>NOT<seq2seq4repair_space>EDIT<seq2seq4repair_space>THIS<seq2seq4repair_space>CODE*//" + ( NL ) ) + "//*This<seq2seq4repair_space>code<seq2seq4repair_space>was<seq2seq4repair_space>generated<seq2seq4repair_space>using<seq2seq4repair_space>the<seq2seq4repair_space>Java<seq2seq4repair_space>Umplificator<seq2seq4repair_space>1.0.0!*//" ; protected final String TEXT_2 = ( ( NL ) + ( NL ) ) + "class<seq2seq4repair_space>" ; protected final String TEXT_3 = ( "<seq2seq4repair_space>" + ( NL ) ) + "{" ; protected final String TEXT_4 = "\t" ; protected final String TEXT_5 = ( ( NL ) + ( NL ) ) + "//*<seq2seq4repair_space>CODE<seq2seq4repair_space>INJECTIONS<seq2seq4repair_space>*//" ; protected final String TEXT_6 = NL ; protected final String TEXT_7 = ( NL ) + "}" ; private void appendln ( StringBuffer buffer , String input , Object ... variables ) { } private void append ( StringBuffer buffer , String input , Object ... variables ) { } public String getCode ( UmpleModel model , UmpleElement uElement ) { final StringBuffer stringBuffer = new StringBuffer ( ) ; stringBuffer . append ( TEXT_1 ) ; UmpleClass uClass = ( ( UmpleClass ) ( uElement ) ) ; if ( uClass . hasNamespaces ( ) ) { appendln ( stringBuffer , "" ) ; append ( stringBuffer , "namespace<seq2seq4repair_space>{0};" , uClass . getNamespace ( 0 ) ) ; } stringBuffer . append ( TEXT_2 ) ; stringBuffer . append ( uClass . getName ( ) ) ; stringBuffer . append ( TEXT_3 ) ; <START_BUG> if ( uClass . isIsAbstract ( ) ) { <END_BUG> appendln ( stringBuffer , "" ) ; append ( stringBuffer , "abstract;" ) ; } stringBuffer . append ( TEXT_4 ) ; for ( Depend depend : uClass . getDepends ( ) ) { if ( depend != null ) { appendln ( stringBuffer , "" ) ; append ( stringBuffer , "depend<seq2seq4repair_space>{0};" , depend . getName ( ) ) ; } } String isAExtendsAndImplements = "" ; String implementedInterfaces = "" ; String extendedClass = "" ; UmpleClass parent = uClass . getExtendsClass ( ) ; if ( parent == null ) { extendedClass = "" ; } else { extendedClass = ( uClass . getExtendsClass ( ) . getName ( ) ) + "," ; } if ( ( uClass . hasParentInterface ( ) ) == false ) { implementedInterfaces = "" ; } else { for ( UmpleInterface uInterface : uClass . getParentInterface ( ) ) { implementedInterfaces += ( uInterface . getName ( ) ) + "," ; } implementedInterfaces = implementedInterfaces . substring ( 0 , ( ( implementedInterfaces . length ( ) ) - 1 ) ) ; } isAExtendsAndImplements = extendedClass + implementedInterfaces ; if ( ( isAExtendsAndImplements . length ( ) ) > 0 ) { isAExtendsAndImplements = isAExtendsAndImplements . substring ( 0 , ( ( isAExtendsAndImplements . length ( ) ) - 1 ) ) ; appendln ( stringBuffer , "" ) ; append ( stringBuffer , "isA<seq2seq4repair_space>{0};" , isAExtendsAndImplements ) ; } for ( Attribute av : uClass . getAttributes ( ) ) { if ( av != null ) { String name = av . getName ( ) ; String type = av . getType ( ) ; String value = ( ( av . getValue ( ) . length ( ) ) > 0 ) ? "=<seq2seq4repair_space>" + ( av . getValue ( ) ) : "" ; String attr = ( ( ( type + "<seq2seq4repair_space>" ) + name ) + value ) + ";" ; appendln ( stringBuffer , "" ) ; append ( stringBuffer , attr ) ; } } stringBuffer . append ( TEXT_5 ) ; if ( uClass . hasCodeInjections ( ) ) { for ( CodeInjection ci : uClass . getCodeInjections ( ) ) { if ( ci != null ) { appendln ( stringBuffer , "" ) ; append ( stringBuffer , "{0}<seq2seq4repair_space>constructor<seq2seq4repair_space>{<seq2seq4repair_space>{1}" , ci . getType ( ) , ci . getCode ( ) ) ; appendln ( stringBuffer , "}" ) ; } } } stringBuffer . append ( TEXT_6 ) ; stringBuffer . append ( uClass . getExtraCode ( ) ) ; stringBuffer . append ( TEXT_7 ) ; return stringBuffer . toString ( ) ; } No newline ; at end ; of file ; }

Fix:
if ( uClass . getIsAbstract ( ) ) {