googDebugErrorHandlerProtectedFunction = function() {
    'use strict';
    var self = /** @type {?} */ (this);
    if (that.isDisposed()) {
      return fn.apply(self, arguments);
    }

    try {
      return fn.apply(self, arguments);
    } catch (e) {
      that.handleError_(e);
    }
  }
Helps {@link #protectEntryPoint} by actually creating the protected
wrapper function, after {@link #protectEntryPoint} determines that one does
not already exist for the given function.  Can be overridden by subclasses
that may want to implement different error handling, or add additional
entry point hooks.
@param {!Function} fn An entry point function to be protected.
@return {!Function} protected wrapper function.
@protected