public interface Pool<V>
V get(V key)
key.key - the value to look forvoid clear()
V put(V key)
key into the pool. If there is no existing object that is equal
to key, key will be added to the pool and the return value will be the same instance.
If there is an existing object in the pool that is equal to key, the pool will remain unchanged
and the pooled instance will be is returned.key - the value to add if not in the poolint size()