function _getAggregatedControls(mAggregations) {
		var aResult = [];
		for (var sAggregation in mAggregations) {
			var vAggregation = mAggregations[sAggregation];
			if (Array.isArray(vAggregation)) {
				// "width limit" - check only the first 20 controls in 1 aggregation
				aResult = aResult.concat(vAggregation.slice(0, 20));
			} else if (vAggregation) {
				aResult.push(vAggregation);
			}
		}
		aResult = aResult.filter(function (oControl) {
			// filter out non-control aggregations e.g. layoutData or dnd
			return oControl.getMetadata && oControl.getMetadata().getName() && oControl.$().length;
		});
		return aResult;
	}
@class
Checks if a control has a defined sibling.
Available as a declarative matcher with the following syntax:
<code><pre>{
    sibling: "object" // where "object" is a declarative matcher for the sibling
}
</code></pre>
The declarative matcher for Sibling does not support <b>oOptions</b> parameters.

@param {object|string} vSibling the sibling control to check. Can be a control or a control ID. If undefined, the result will always be true.
@param {object} [oOptions] specifies how to match
@param {boolean} oOptions.useDom whether to match by relationships of the DOM references. false by default
@param {boolean} oOptions.prev match only if control's DOM reference is before the sibling's in the DOM tree
@param {boolean} oOptions.next match only if control's DOM reference is after the sibling's in the DOM tree,
@param {boolean} oOptions.level how many levels of ancestors to search
@public
@name sap.ui.test.matchers.Sibling
@author SAP SE
@since 1.91