code: func createCompositeKey(objectType string, attributes []string) (string, error) {
  	if err := validateCompositeKeyAttribute(objectType); err != nil {
  		return "", err
  	}
  	ck := compositeKeyNamespace + objectType + string(minUnicodeRuneValue)
  	for _, att := range attributes {
  		if err := validateCompositeKeyAttribute(att); err != nil {
  			return "", err
  		}
  		ck += att + string(minUnicodeRuneValue)
  	}
  	return ck, nil
  }
docs: // createCompositeKey and its related functions and consts copied from core/chaincode/shim/chaincode.go