ObjectPool
using describeType to check if the pooled type is valid and extends the right classes