async getAllElements(bOverlayIsSibling, aElementOverlays) {
			const oElementOverlay = aElementOverlays[0];
			const mParents = AdditionalElementsUtils.getParents(bOverlayIsSibling, oElementOverlay, this);
			let mActions;
			const aPromises = [];
			let bCheckExtensibility = false;
			const aCachedElements = this.getCachedElements(bOverlayIsSibling);

			if (aCachedElements) {
				return aCachedElements;
			}

			this.clearExtensibilityInfo(bOverlayIsSibling);

			const mAllActions = await ActionExtractor.getActions(bOverlayIsSibling, oElementOverlay, this, undefined, this.getDesignTime());
			each(mAllActions, function(sAggregationName) {
				mActions = mAllActions[sAggregationName];
				mActions.aggregation = sAggregationName;
				if (mActions.addViaDelegate) {
					bCheckExtensibility = true;
				}
				aPromises.push({
					aggregation: sAggregationName,
					elementPromises: [
						mActions.reveal
							? AdditionalElementsAnalyzer.enhanceInvisibleElements(mParents.parent, mActions)
							: Promise.resolve([]),
						mActions.addViaDelegate
							? AdditionalElementsAnalyzer.getUnrepresentedDelegateProperties(mParents.parent, mActions.addViaDelegate)
							: Promise.resolve([])
					]
				});
			});
			const oExtensibilityInfo = bCheckExtensibility && await loadExtensibilityInfo(mParents.parent);

			this.setExtensibilityInfo(bOverlayIsSibling, oExtensibilityInfo);
			const aAllElements = await this._combineAnalyzerResults(aPromises);

			this.setCachedElements(aAllElements, bOverlayIsSibling);
			return aAllElements;
		}
Returns all the elements that can be added to a control
@param {boolean} bOverlayIsSibling - Indicates if the elements would be added as sibling (instead of child)
@param {Array<sap.ui.dt.ElementOverlay>} aElementOverlays - Array containing the overlay of the control
@returns {Array} An array with all elements
@protected