code: function (aData) {
  				var oEntityData,
  					oMasterController,
  					sTopicId = this._sTopicid;
  
  				// Cache api-index data
  				this._aApiIndex = aData;
  
  				// Find symbol
  				function findSymbol (a) {
  					return a.some(function (o) {
  						var bFound = o.name === sTopicId;
  						if (!bFound && o.nodes) {
  							return findSymbol(o.nodes);
  						} else if (bFound) {
  							oEntityData = o;
  							return true;
  						}
  						return false;
  					});
  				}
  				findSymbol(aData);
  
  				if (oEntityData) {
  					// Cache entity data
  					this._oEntityData = oEntityData;
  
  					// If target symbol is deprecated - all deprecated records should be shown in the tree
  					if (oEntityData.deprecated) {
  						oMasterController = this.getOwnerComponent().getConfigUtil().getMasterView("apiId").getController();
  						oMasterController.selectDeprecatedSymbol(this._sTopicid);
  					}
  
  					// Load API.json only for selected lib
  					return APIInfo.getLibraryElementsJSONPromise(oEntityData.lib).then(function (aData) {
  						return Promise.resolve(aData); // We have found the symbol and loaded the corresponding api.json
  					});
  				}
  
  				// If we are here - the object does not exist so we reject the promise.
  				return Promise.reject(this.NOT_FOUND);
  			}
docs: Process data from api-index file and if symbol is found load the corresponding api.json file for the
  symbol library. If the symbol is not resolved this method returns a rejected promise which triggers
  navigation to not found page.
  @param {array} aData data from api-index file
  @return {Promise} resolved or rejected promise
  @private