docs: function (bp) {
                  var noerrors = true;
  
                  // bean definition will be available in the waiting beans
                  var def = this.__waitingBeans[bp];
                  delete this.__waitingBeans[bp];
  
                  this.$assert(58, def);
  
                  var compiled = def.$compiled;
                  if (compiled) {
                      def.$beans = compiled(registerBean(def.$package), getBean, require("./JsonTypesCheck").fastNormalizers);
                  } else {
                      // validate incoming definition
                      if (this._options.checkBeans && this.__loadedBeans[this._BEANS_SCHEMA_PACKAGE]) {
                          var bean = this._getBean(this._BEANS_SCHEMA_PACKAGE + '.Package');
                          this.$assert(428, bean != null);
                          noerrors = noerrors && this.__logAllErrors(this._processJsonValidation({
                              beanDef : bean,
                              json : def
                          }));
                      }
  
                      // do not add defaults to default values (to be consistent with fast normalization)
                      this._options.addDefaults = false;
                      noerrors = noerrors && this.__logAllErrors(this.__preprocessBP(def));
                  }
                  if (noerrors) {
                      this.__loadedBeans[bp] = def;
                      return def;
                  } else {
                      throw new Error("Error while loading " + bp);
                  }
              }