@Override
@SuppressWarnings({"unchecked"})
public synchronized <S> S getBusinessObject(Class<S> businessInterfaceType) {
if (isRemoved()) {
throw new NoSuchEJBException("Bean has been removed");
}
if (viewServices.containsKey(businessInterfaceType.getName())) {
final ServiceController<?> serviceController = CurrentServiceContainer.getServiceContainer().getRequiredService(viewServices.get(businessInterfaceType.getName()));
final ComponentView view = (ComponentView) serviceController.getValue();
final ComponentViewInstance instance = view.createInstance(Collections.<Object, Object>singletonMap(StatefulSessionComponent.SESSION_ATTACH_KEY, id));