public function destroyBeanInstance($instance)
{
// load the object manager
$objectManager = $this->getApplication()->search(ObjectManagerInterface::IDENTIFIER);
// load the bean descriptor
$descriptor = $objectManager->getObjectDescriptors()->get(get_class($instance));
// invoke the pre-destroy callbacks if we've a session bean
if ($descriptor instanceof SessionBeanDescriptorInterface) {
foreach ($descriptor->getPreDestroyCallbacks() as $preDestroyCallback) {
$instance->{$preDestroyCallback}();
}
}
}