code: func (r *REST) Create(ctx context.Context, obj runtime.Object, createValidation rest.ValidateObjectFunc, options *metav1.CreateOptions) (runtime.Object, error) {
  	selfSRR, ok := obj.(*authorizationapi.SelfSubjectRulesReview)
  	if !ok {
  		return nil, apierrors.NewBadRequest(fmt.Sprintf("not a SelfSubjectRulesReview: %#v", obj))
  	}
  
  	user, ok := genericapirequest.UserFrom(ctx)
  	if !ok {
  		return nil, apierrors.NewBadRequest("no user present on request")
  	}
  
  	namespace := selfSRR.Spec.Namespace
  	if namespace == "" {
  		return nil, apierrors.NewBadRequest("no namespace on request")
  	}
  
  	if createValidation != nil {
  		if err := createValidation(obj.DeepCopyObject()); err != nil {
  			return nil, err
  		}
  	}
  
  	resourceInfo, nonResourceInfo, incomplete, err := r.ruleResolver.RulesFor(user, namespace)
  
  	ret := &authorizationapi.SelfSubjectRulesReview{
  		Status: authorizationapi.SubjectRulesReviewStatus{
  			ResourceRules:    getResourceRules(resourceInfo),
  			NonResourceRules: getNonResourceRules(nonResourceInfo),
  			Incomplete:       incomplete,
  		},
  	}
  
  	if err != nil {
  		ret.Status.EvaluationError = err.Error()
  	}
  
  	return ret, nil
  }
docs: // Create attempts to get self subject rules in specific namespace.