/// <summary> /// Cascade the final interception request after the main DataPortal operation has completed /// </summary> /// <param name="e">The interception arguments provided by the consumer</param> public void Complete(InterceptArgs e) { // Iterate backwards through interceptors, so that they appear to wrap one another, decorator-style for (int interceptorIndex = _interceptors.Count - 1; interceptorIndex > -1; interceptorIndex--) { IInterceptDataPortal interceptor = _interceptors[interceptorIndex]; interceptor.Complete(e); } }