Cloth collisions

I'm trying to make a cloth system that will correctly handle collisions.



I'm sort of successfully handling collisions with external objects, however I'm having two issues which I though I could get help on here.



One thing is self-collisions. The findCollisions() method doesn't search for these, and I was wondering if there's an existing way to locate them in jMe (or do I have to implement this myself?).



For collisions with external objects, I'm just returning to the previous step in the verlet integration implemented for the spring system in jme, so I'm still figuring out what to do when collisions have occurred when the cloth was still, and another object collided with it. I'd really appreciate some recommendations with this, because I've been banging my head on this for some time. I'm thinking I could solve this if I could find a way to specify a "particle outside of objects" constraint, but I can't seem to figure out how to effectively do this, and have been trying to add different vectors to the current position (like the normal of the vertex that corresponds to the intersecting node, or the normal of the collision target, but these things all result in a very chaotic behavior).