You cannot configure a class that does parser pooling, which makes it hard to balance between the # of instances to pool and the amount of heap space you're committing to velocity.
This patch refactors the parser pooling logic so that it behaves with a typical pool and parser factory concept. The existing pool implementation class is left untouched and is wrapped by the new default class that implements the new ParserPool interface.
Behavior and benchmark appears consistent. Tried to format code correctly, but probably missed some spots. One patch file and 2 new java files. Will attach shortly.