is invoked on every instance when it is being "dropped" from the pool
(whether due to the response from validateObject, or for reasons specific
to the pool implementation.)
is invoked on activated instances to make sure they can be borrowed from
the pool. validateObject may also be used to test an instance being
returned to the pool before it is passivated.