Ответ выше верен для пулов 1.x. Эти пулы не поддерживают внутренние ссылки на извлеченные объекты, поэтому они не могут проверять членство по возвращении или защищать от множественных возвратов одного и того же объекта.
Проверка пулов версии 2.x, чтобы убедиться, что возвращаемый объект был заимствован из пула, в который он возвращается. Возврат объекта, который не был заимствован из пула, или возврат объекта, который уже был возвращен, приведет к исключению IllegalStateException в пулах 2.x.