Buggy code:
for ( final Iterator < ? > iter = ( ( Collection < ? > ) ( target ) ) . iterator ( ) ; iter . hasNext ( ) ; ) { buff . append ( iter . next ( ) . toString ( ) ) ; if ( iter . hasNext ( ) ) { buff . append ( params [ 0 ] . toString ( ) ) ; } } return buff . toString ( ) ; } } , new PropertyImpl ( this , "size" , getTypeSystem ( ) . getIntegerType ( ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>the<seq2seq4repair_space>size<seq2seq4repair_space>of<seq2seq4repair_space>this<seq2seq4repair_space>Collection" ; } public Object get ( final Object target ) { return new Long ( ( ( Collection < ? > ) ( target ) ) . size ( ) ) ; } } , new PropertyImpl ( this , "isEmpty" , getTypeSystem ( ) . getBooleanType ( ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>true<seq2seq4repair_space>if<seq2seq4repair_space>this<seq2seq4repair_space>Collection<seq2seq4repair_space>is<seq2seq4repair_space>empty" ; } public Object get ( final Object target ) { if ( target == null ) { CollectionTypeImpl . LOG . warn ( "isEmpty<seq2seq4repair_space>called<seq2seq4repair_space>with<seq2seq4repair_space>Null<seq2seq4repair_space>argument.<seq2seq4repair_space>Will<seq2seq4repair_space>return<seq2seq4repair_space>true." ) ; return Boolean . TRUE ; } return new Boolean ( ( ( ( ( Collection < ? > ) ( target ) ) . size ( ) ) == 0 ) ) ; } } , new OperationImpl ( this , "add" , this , getInnerType ( ) ) { @ Override public String getDocumentation ( ) { return "adds<seq2seq4repair_space>an<seq2seq4repair_space>element<seq2seq4repair_space>to<seq2seq4repair_space>the<seq2seq4repair_space>Collection<seq2seq4repair_space>(modifies<seq2seq4repair_space>it!).<seq2seq4repair_space>returns<seq2seq4repair_space>this<seq2seq4repair_space>Collection." ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { ( ( Collection < Object > ) ( target ) ) . add ( params [ 0 ] ) ; return target ; } } , new OperationImpl ( this , "addAll" , this , getTypeSystem ( ) . getCollectionType ( getInnerType ( ) ) ) { @ Override public String getDocumentation ( ) { return "adds<seq2seq4repair_space>all<seq2seq4repair_space>elements<seq2seq4repair_space>to<seq2seq4repair_space>the<seq2seq4repair_space>Collection<seq2seq4repair_space>(modifies<seq2seq4repair_space>it!).<seq2seq4repair_space>returns<seq2seq4repair_space>this<seq2seq4repair_space>Collection." ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { ( ( Collection < ? > ) ( target ) ) . addAll ( ( ( Collection ) ( params [ 0 ] ) ) ) ; return target ; } } , new OperationImpl ( this , "contains" , getTypeSystem ( ) . getBooleanType ( ) , getTypeSystem ( ) . getObjectType ( ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>true<seq2seq4repair_space>if<seq2seq4repair_space>this<seq2seq4repair_space>collection<seq2seq4repair_space>contains<seq2seq4repair_space>the<seq2seq4repair_space>specified<seq2seq4repair_space>object.<seq2seq4repair_space>otherwise<seq2seq4repair_space>false.<seq2seq4repair_space>returns<seq2seq4repair_space>this<seq2seq4repair_space>Collection." ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { return Boolean . valueOf ( ( ( Collection ) ( target ) ) . contains ( params [ 0 ] ) ) ; } } , new OperationImpl ( this , "containsAll" , getTypeSystem ( ) . getBooleanType ( ) , getTypeSystem ( ) . getCollectionType ( getTypeSystem ( ) . getObjectType ( ) ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>true<seq2seq4repair_space>if<seq2seq4repair_space>this<seq2seq4repair_space>collection<seq2seq4repair_space>contains<seq2seq4repair_space>each<seq2seq4repair_space>element<seq2seq4repair_space>contained<seq2seq4repair_space>in<seq2seq4repair_space>the<seq2seq4repair_space>specified<seq2seq4repair_space>collection.<seq2seq4repair_space>otherwise<seq2seq4repair_space>false.<seq2seq4repair_space>returns<seq2seq4repair_space>this<seq2seq4repair_space>Collection." ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { return Boolean . valueOf ( ( ( Collection ) ( target ) ) . containsAll ( ( ( Collection ) ( params [ 0 ] ) ) ) ) ; } } , new OperationImpl ( this , "remove" , this , getTypeSystem ( ) . getObjectType ( ) ) { @ Override public String getDocumentation ( ) { return "removes<seq2seq4repair_space>the<seq2seq4repair_space>specified<seq2seq4repair_space>element<seq2seq4repair_space>from<seq2seq4repair_space>this<seq2seq4repair_space>Collection<seq2seq4repair_space>if<seq2seq4repair_space>contained<seq2seq4repair_space>(modifies<seq2seq4repair_space>it!).<seq2seq4repair_space>returns<seq2seq4repair_space>this<seq2seq4repair_space>Collection." ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { ( ( Collection ) ( target ) ) . remove ( params [ 0 ] ) ; return target ; } <START_BUG> } , new OperationImpl ( this , "removeAll" , this , getTypeSystem ( ) . getObjectType ( ) ) { <END_BUG> @ Override public String getDocumentation ( ) { return "removes<seq2seq4repair_space>all<seq2seq4repair_space>elements<seq2seq4repair_space>contained<seq2seq4repair_space>in<seq2seq4repair_space>the<seq2seq4repair_space>specified<seq2seq4repair_space>collection<seq2seq4repair_space>from<seq2seq4repair_space>this<seq2seq4repair_space>Collection<seq2seq4repair_space>if<seq2seq4repair_space>contained<seq2seq4repair_space>(modifies<seq2seq4repair_space>it!).<seq2seq4repair_space>returns<seq2seq4repair_space>this<seq2seq4repair_space>Collection." ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { ( ( Collection ) ( target ) ) . removeAll ( ( ( Collection ) ( params [ 0 ] ) ) ) ; return target ; } } , new OperationImpl ( this , "union" , getTypeSystem ( ) . getSetType ( getInnerType ( ) ) , getTypeSystem ( ) . getCollectionType ( getTypeSystem ( ) . getObjectType ( ) ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>a<seq2seq4repair_space>new<seq2seq4repair_space>Set,<seq2seq4repair_space>containing<seq2seq4repair_space>all<seq2seq4repair_space>elements<seq2seq4repair_space>from<seq2seq4repair_space>this<seq2seq4repair_space>and<seq2seq4repair_space>the<seq2seq4repair_space>specified<seq2seq4repair_space>Collection" ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { final Set r = new LinkedHashSet ( ( ( Collection ) ( target ) ) ) ; if ( ( params != null ) && ( ( params [ 0 ] ) != null ) ) { r . addAll ( ( ( Collection ) ( params [ 0 ] ) ) ) ; } else { CollectionTypeImpl . LOG . warn ( "Invoking<seq2seq4repair_space>union()<seq2seq4repair_space>with<seq2seq4repair_space>Null<seq2seq4repair_space>as<seq2seq4repair_space>argument.<seq2seq4repair_space>Will<seq2seq4repair_space>return<seq2seq4repair_space>the<seq2seq4repair_space>source<seq2seq4repair_space>collection." ) ; } return r ; } } , new OperationImpl ( this , "without" , getTypeSystem ( ) . getSetType ( getInnerType ( ) ) , getTypeSystem ( ) . getCollectionType ( getTypeSystem ( ) . getObjectType ( ) ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>a<seq2seq4repair_space>new<seq2seq4repair_space>Set,<seq2seq4repair_space>containing<seq2seq4repair_space>all<seq2seq4repair_space>elements<seq2seq4repair_space>from<seq2seq4repair_space>this<seq2seq4repair_space>Collection<seq2seq4repair_space>without<seq2seq4repair_space>the<seq2seq4repair_space>elements<seq2seq4repair_space>from<seq2seq4repair_space>specified<seq2seq4repair_space>Collection" ; } @ Override public Object evaluateInternal ( final Object target , final Object [ ] params ) { final Set r = new LinkedHashSet ( ( ( Collection ) ( target ) ) ) ; r . removeAll ( ( ( Collection ) ( params [ 0 ] ) ) ) ; return r ; } } , new OperationImpl ( this , "intersect" , getTypeSystem ( ) . getSetType ( getInnerType ( ) ) , getTypeSystem ( ) . getCollectionType ( getTypeSystem ( ) . getObjectType ( ) ) ) { @ Override public String getDocumentation ( ) { return "returns<seq2seq4repair_space>a<seq2seq4repair_space>new<seq2seq4repair_space>Set,<seq2seq4repair_space>containing<seq2seq4repair_space>only<seq2seq4repair_space>the<seq2seq4repair_space>elements<seq2seq4repair_space>contained<seq2seq4repair_space>in<seq2seq4repair_space>this<seq2seq4repair_space>and<seq2seq4repair_space>the<seq2seq4repair_space>specified<seq2seq4repair_space>Collection" ; }

Fix:
} , new OperationImpl ( this , "removeAll" , this , getTypeSystem ( ) . getCollectionType ( getTypeSystem ( ) . getObjectType ( ) ) ) {