init(FNClass) {
					if ( typeof FNClass !== 'function' || !(FNClass.prototype instanceof ManagedObject) ) {
						throw new TypeError("ManagedObjectRegistry mixin can only be applied to subclasses of sap.ui.base.ManagedObject");
					}

					var fnOnDuplicate = oOptions.onDuplicate || function(sId, oldInstance, newInstance) {
						var sStereotype = FNClass.getMetadata().getStereotype();
						Log.error("adding object \"" + sStereotype + "\" with duplicate id '" + sId + "'");
						throw new Error("Error: adding object \"" + sStereotype + "\" with duplicate id '" + sId + "'");
					};

					var fnOnDeregister = oOptions.onDeregister || null;

					FNClass.prototype.register = function register() {
						var sId = this.getId(),
							old = mInstances[sId];

						if ( old && old !== this ) {
							fnOnDuplicate(sId, old, this);
							// executes only if duplicate check succeeds
							iInstancesCount--;
						}

						mInstances[sId] = this;
						iInstancesCount++;
					};

					FNClass.prototype.deregister = function deregister() {
						var sId = this.getId();
						if ( mInstances[sId] ) {
							if ( fnOnDeregister ) {
								fnOnDeregister(sId);
							}
							delete mInstances[sId];
							iInstancesCount--;
						}
					};
					delete facade.init;
					Object.freeze(facade);
				}
Number of objects in <code>mInstances</code>.
@private