I think this has nothing to do with Java collections nor iteration ...
It seems that you are trying to cast a Spring managed bean to a concrete class somewhere in your code. The problem is that Spring AOP uses proxies to wrap around beans, and in this circumstances, the only thing you can assume is that the proxies implement the same set of interfaces as the original class. The weird thing is that, as you're using service builder to generate your services, PCustomerPersistence should already be an interface and not a class.
Btw, you should never call PCustomerUtil (or the equivalent class for other entities generated by service builder) from outside your services. Those classes expose methods directly from the persistence layer, and so, should be called only from your services, not from JSPs or portlets.