code: function (oInstance, sMetaPath, mTypeForMetaPath) {
  			var aKeyProperties = [],
  				mKey2Value = _Helper.getKeyProperties(oInstance, sMetaPath, mTypeForMetaPath, true);
  
  			if (!mKey2Value) {
  				return undefined;
  			}
  			aKeyProperties = Object.keys(mKey2Value).map(function (sAlias, iIndex, aKeys) {
  				var vValue = encodeURIComponent(mKey2Value[sAlias]);
  
  				return aKeys.length === 1 ? vValue : encodeURIComponent(sAlias) + "=" + vValue;
  			});
  
  			return "(" + aKeyProperties.join(",") + ")";
  		}
docs: Returns the key predicate (see "4.3.1 Canonical URL") for the given entity using the
  given meta data.
  
  @param {object} oInstance
  Entity instance runtime data
  @param {string} sMetaPath
  The absolute meta path of the given instance
  @param {object} mTypeForMetaPath
  Maps meta paths to the corresponding entity or complex types
  @returns {string}
  The key predicate, e.g. "(Sector='DevOps',ID='42')" or "('42')", or undefined, if at
  least one key property is undefined
  @throws {Error}
  In case the entity type has no key properties according to metadata