function initializeGridTableSelection(oTable) {
		const mSelectionModeMap = {
			Single: "Single",
			SingleMaster: "Single",
			Multi: "MultiToggle"
		};

		return loadModules("sap/ui/table/plugins/MultiSelectionPlugin").then((aModules) => {
			const MultiSelectionPlugin = aModules[0];

			if (oTable.isDestroyed()) {
				return Promise.reject("Destroyed");
			}

			oTable._oTable.addDependent(new MultiSelectionPlugin({
				limit: "{$sap.ui.mdc.Table#type>/selectionLimit}",
				enableNotification: true,
				showHeaderSelector: "{$sap.ui.mdc.Table#type>/showHeaderSelector}",
				selectionMode: {
					path: "$sap.ui.mdc.Table>/selectionMode",
					formatter: function(sSelectionMode) {
						return mSelectionModeMap[sSelectionMode];
					}
				},
				enabled: {
					path: "$sap.ui.mdc.Table>/selectionMode",
					formatter: function(sSelectionMode) {
						return sSelectionMode in mSelectionModeMap;
					}
				},
				selectionChange: function(oEvent) {
					// TODO: Add something sililar like TableTypeBase#callHook -> move to reusable util? Use here and in other places in delegates.
					oTable._onSelectionChange({
						selectAll: oEvent.getParameter("selectAll")
					});
				}
			}));
		});
	}
This is called after the table has loaded the necessary libraries and modules and initialized its selection, but before it resolves its
<code>initialized</code> Promise. It can be used to make changes to the selection as part of the initialization.

@param {sap.ui.mdc.Table} oTable Instance of the table
@returns {Promise} A <code>Promise</code> that resolves after the selection has been initialized
@private