public Object invoke(Invocation invocation) {
        try {
            Object bean = invocation.getBean();
            Method method = invocation.getMethod();
            Object[] args = invocation.getArgs();
            return method.invoke(bean, args);
        } catch (Exception e) {
        	/* 
        	 * An exception : Object must be restored.
        	 * */
        	System.out.println("DEBUG: Exception detect.\n");
        	invocation.restoreState();
        	return null;
        }
    }