protected EntityBean getPooledInstance(ThreadContext callContext) throws OpenEJBException {
CoreDeploymentInfo deploymentInfo = callContext.getDeploymentInfo();
Stack methodReadyPool = poolMap.get(deploymentInfo.getDeploymentID());
if (methodReadyPool == null) throw new SystemException("Invalid deployment id " + deploymentInfo.getDeploymentID() + " for this container");
EntityBean bean = (EntityBean) methodReadyPool.pop();
if (bean == null) {
try {
bean = (EntityBean) deploymentInfo.getBeanClass().newInstance();
} catch (Exception e) {
logger.error("Bean instantiation failed for class " + deploymentInfo.getBeanClass(), e);