protected Object invoke(final Object proxy, final Method method, final Object[] args, final String methodName,
final Long hashMethod) throws Exception {
// Bean removed, no methods are allowed
if (isRemoved()) {
handleThrowable(convertThrowable(new NoSuchEJBException("The bean has been removed")), false, method, null);
}
// Methods on the Object.class are not send on the remote side
if (method.getDeclaringClass().getName().equals("java.lang.Object")) {
// for stateful bean, let the first call to toString go to the remote side in order to initialize the bean ID