docs: function (itf, scope, fn) {
                  var itfCstr = this.$interfaces[itf];
                  var allInterceptors = this.__$interceptors;
                  if (!itfCstr || !allInterceptors) {
                      return;
                  }
                  var itfs = itfCstr.prototype.$interfaces;
                  // also remove the interceptor on all base interfaces of the interface
                  for (var i in itfs) {
                      if (itfs.hasOwnProperty(i)) {
                          __removeInterceptorCallback(allInterceptors, i, scope, fn);
                      }
                  }
              }