code: function (oObject, sName, bValue, bCreate) {
  			sName = sName === '/' ? '' : sName;
  			var aNames = sName.split('/'),
  				l = aNames.length, i;
  
  			if (l > 0) {
  				for (i = 0; oObject && i < l - 1; i++) {
  					if (!oObject[aNames[i]]) {
  						oObject[aNames[i]] = {};
  					}
  					if (oObject[aNames[i]]) {
  						oObject = oObject[aNames[i]];
  					}
  				}
  				// exlude non-existing nodes except for the root node)
  				if (typeof oObject[aNames[l - 1]] !== "undefined" || aNames[l - 1] === "" || bCreate) {
  					if (typeof oObject[aNames[l - 1]] !== "object") {
  						// mark node as selected
  						oObject[aNames[l - 1]] = bValue;
  					} else {
  						// select existing package
  						oObject[aNames[l - 1]][''] = bValue;
  					}
  				}
  			}
  		}
docs: Sets the selection state for a package/module.
  Package names must end with a slash, modules must not.
  @param {object} oObject The resulting hierarchy object
  @param {string} sName The name to be set in the hierarchy
  @param {boolean} bValue Selected state for the name
  @param {boolean} bCreate If set to true non-existing nodes will be created