code: func RegisterCustomFitPredicate(policy schedulerapi.PredicatePolicy) string {
  	var predicateFactory FitPredicateFactory
  	var ok bool
  
  	validatePredicateOrDie(policy)
  
  	// generate the predicate function, if a custom type is requested
  	if policy.Argument != nil {
  		if policy.Argument.ServiceAffinity != nil {
  			predicateFactory = func(args PluginFactoryArgs) predicates.FitPredicate {
  				predicate, precomputationFunction := predicates.NewServiceAffinityPredicate(
  					args.PodLister,
  					args.ServiceLister,
  					args.NodeInfo,
  					policy.Argument.ServiceAffinity.Labels,
  				)
  
  				// Once we generate the predicate we should also Register the Precomputation
  				predicates.RegisterPredicateMetadataProducer(policy.Name, precomputationFunction)
  				return predicate
  			}
  		} else if policy.Argument.LabelsPresence != nil {
  			predicateFactory = func(args PluginFactoryArgs) predicates.FitPredicate {
  				return predicates.NewNodeLabelPredicate(
  					policy.Argument.LabelsPresence.Labels,
  					policy.Argument.LabelsPresence.Presence,
  				)
  			}
  		}
  	} else if predicateFactory, ok = fitPredicateMap[policy.Name]; ok {
  		// checking to see if a pre-defined predicate is requested
  		klog.V(2).Infof("Predicate type %s already registered, reusing.", policy.Name)
  		return policy.Name
  	}
  
  	if predicateFactory == nil {
  		klog.Fatalf("Invalid configuration: Predicate type not found for %s", policy.Name)
  	}
  
  	return RegisterFitPredicateFactory(policy.Name, predicateFactory)
  }
docs: // RegisterCustomFitPredicate registers a custom fit predicate with the algorithm registry.
  // Returns the name, with which the predicate was registered.