I agree with @aeng here in that a setter should not be adding elements to the existing list.
Perhaps the right change should be to wrap the `split` call around a new concrete list:
```java
this.excludes = new ArrayList( StringUtil.split(excludes, ",") )
```
The problem seems to be that the `excludes` list is being set to an unmodifiable list, that later down the code is being reused and modified. 
@Benaan Could you provide a test case or at least describe your environment (OS, Java version, etc.) and the exact command line you were running when you saw this?