code: func LabelledPropertyIsAuthorized(scope string, scopePrefix string, authorizedLabels []AuthorizationMap) (authorized bool) {
  	if authorizedLabels == nil {
  		return
  	}
  	if scope == scopePrefix {
  		authorized = len(authorizedLabels) > 0
  		return
  	}
  	if strings.HasPrefix(scope, scopePrefix+":") {
  		split := strings.Split(strings.TrimPrefix(scope, scopePrefix+":"), ":")
  		requestedLabel := split[0]
  		requestedScope := split[len(split)-1]
  		if requestedLabel == requestedScope {
  			requestedScope = ""
  		}
  		for _, authorizationmap := range authorizedLabels {
  			if (authorizationmap.RequestedLabel == requestedLabel ||
  				authorizationmap.RequestedLabel == "main" && requestedLabel == "") &&
  				(authorizationmap.Scope == requestedScope || requestedScope == "") {
  				authorized = true
  				return
  			}
  		}
  	}
  	return
  }
docs: // LabelledPropertyIsAuthorized checks if a labelled property is authorized