Where is the exception being raised? it's tough to tell from the snippet you posted. is it being raised from your "add" call or from within the delimSplitToList method.
it's confusing to me why you even get that exception...is it possible there's a bug in the StringUtils library? the only way i can think of this happening is that there's a custom list implementation in that library that inherits from AbstractList, but doesn't override the add method.
can you post the full stack trace? Did you write the StringUtils class?
just a thought:
if the format of the delimited string, reports, is guaranteed, might be simpler to just modify the delimited string in a StringBuilder instead of splitting, adding, then joining.
StringBuilder reportBuilder = new StringBuilder(reports);
reportBuilder.append("|").append(repID).append("-0");
reports = reportBuilder.toString();