code: function(name, required, before, message) {
  			if (before != null) {
  				before = !!before;
  			}
  			var thisName = this._local.name,
  				extList = this.options.extensions,
  				isBefore =
  					$.inArray(name, extList) < $.inArray(thisName, extList),
  				isMissing = required && this.ext[name] == null,
  				badOrder = !isMissing && before != null && before !== isBefore;
  
  			_assert(thisName && thisName !== name, "invalid or same name");
  
  			if (isMissing || badOrder) {
  				if (!message) {
  					if (isMissing || required) {
  						message =
  							"'" +
  							thisName +
  							"' extension requires '" +
  							name +
  							"'";
  						if (badOrder) {
  							message +=
  								" to be registered " +
  								(before ? "before" : "after") +
  								" itself";
  						}
  					} else {
  						message =
  							"If used together, `" +
  							name +
  							"` must be registered " +
  							(before ? "before" : "after") +
  							" `" +
  							thisName +
  							"`";
  					}
  				}
  				$.error(message);
  				return false;
  			}
  			return true;
  		}
docs: /* Check if current extensions dependencies are met and throw an error if not.
  
  This method may be called inside the `treeInit` hook for custom extensions.
  
  @param {string} extension name of the required extension
  @param {boolean} [required=true] pass `false` if the extension is optional, but we want to check for order if it is present
  @param {boolean} [before] `true` if `name` must be included before this, `false` otherwise (use `null` if order doesn't matter)
  @param {string} [message] optional error message (defaults to a descriptve error message)