protected abstract InvocationResult HandleCore( MethodInfo targetMethod, InvocationResult result );
        internal InvocationResult Process( MethodInfo targetMethod, InvocationResult result )
        {
            Contract.Assert( targetMethod != null );

            return this.HandleCore( targetMethod, result );
        }