function loadControllerClass(sName, bAsync) {
			if (!sName) {
				throw new Error("Controller name ('sName' parameter) is required");
			}

			var sControllerName = sName.replace(/\./g, "/") + ".controller",
				ControllerClass = resolveClass(sap.ui.require(sControllerName));

			function resolveClass(ControllerClass) {
				if (ControllerClass) {
					return ControllerClass;
				} else if (mRegistry[sName]) {
					return Controller;
				} else {
					//legacy controller
					return ObjectPath.get(sName);
				}
			}

			if (bAsync) {
				return new Promise(function(resolve, reject) {
					if (!ControllerClass) {
						sap.ui.require([sControllerName], function (ControllerClass) {
							resolve(resolveClass(ControllerClass));
						}, reject);
					} else {
						resolve(ControllerClass);
					}
				});
			} else if (!ControllerClass) {
				ControllerClass = sap.ui.requireSync(sControllerName); // legacy-relevant: Sync path
				return resolveClass(ControllerClass);
			} else {
				return ControllerClass;
			}
		}
/* load controller class
		 *
		 * @param {string} sName the controller name
		 * @param {boolean} bAsync Load async or not
		 * @return {{sap.ui.core.mvc.Controller | Promise} oController <code>Promise</code> in case of asynchronous loading
		 *           or <code>undefined</code> in case of synchronous loading
		 */
load controller class
@param {string} sName the controller name
@param {boolean} bAsync Load async or not
@return {{sap.ui.core.mvc.Controller | Promise} oController Promise in case of asynchronous loading
or undefined in case of synchronous loading
load controller class @param { string } sName the controller name @param { boolean } bAsync Load async or not @return {{ sap . ui . core . mvc . Controller | Promise } oController Promise in case of asynchronous loading or undefined in case of synchronous loading
function loadControllerClass(sName, bAsync) {
			if (!sName) {
				throw new Error("Controller name ('sName' parameter) is required");
			}
			var sControllerName = sName.replace(/\./g, "/") + ".controller",
				ControllerClass = resolveClass(sap.ui.require(sControllerName));
			function resolveClass(ControllerClass) {
				if (ControllerClass) {
					return ControllerClass;
				} else if (mRegistry[sName]) {
					return Controller;
				} else {
					return ObjectPath.get(sName);
				}
			}
			if (bAsync) {
				return new Promise(function(resolve, reject) {
					if (!ControllerClass) {
						sap.ui.require([sControllerName], function (ControllerClass) {
							resolve(resolveClass(ControllerClass));
						}, reject);
					} else {
						resolve(ControllerClass);
					}
				});
			} else if (!ControllerClass) {
				ControllerClass = sap.ui.requireSync(sControllerName); 
				return resolveClass(ControllerClass);
			} else {
				return ControllerClass;
			}
		}
function loadControllerClass ( sName , bAsync ) { if ( ! sName ) { throw new Error ( "Controller name ('sName' parameter) is required" ) ; } var sControllerName = sName . replace ( / \. / g , "/" ) + ".controller" , ControllerClass = resolveClass ( sap . ui . require ( sControllerName ) ) ; function resolveClass ( ControllerClass ) { if ( ControllerClass ) { return ControllerClass ; } else if ( mRegistry [ sName ] ) { return Controller ; } else { return ObjectPath . get ( sName ) ; } } if ( bAsync ) { return new Promise ( function ( resolve , reject ) { if ( ! ControllerClass ) { sap . ui . require ( [ sControllerName ] , function ( ControllerClass ) { resolve ( resolveClass ( ControllerClass ) ) ; } , reject ) ; } else { resolve ( ControllerClass ) ; } } ) ; } else if ( ! ControllerClass ) { ControllerClass = sap . ui . requireSync ( sControllerName ) ; return resolveClass ( ControllerClass ) ; } else { return ControllerClass ; } }
load controller class
 @param {string} sName the controller name
 @param {boolean} bAsync Load async or not
 @return {{sap.ui.core.mvc.Controller | Promise} oController <code>Promise</code> in case of asynchronous loading
           or <code>undefined</code> in case of synchronous loading
load controller class @param { string } sName the controller name @param { boolean } bAsync Load async or not @return {{ sap . ui . core . mvc . Controller | Promise } oController <code > Promise< / code > in case of asynchronous loading or <code > undefined< / code > in case of synchronous loading
//legacy controller // legacy-relevant: Sync path