code: def applyFeatures(self, new_features, conflict="error", missing="error"):
          
  
          OPTIONS = ["error", "ignore", "me", "other"]
          assert missing in OPTIONS, "Invalid value in `missing`."
          assert conflict in OPTIONS, "Invalid value in `missing`."
  
          self0 = self.clone()
          if isinstance(new_features, Features):
              new_features = new_features.features
          for f in new_features:
              self0.addFeature(f, conflict=conflict, missing=missing)
          self.props = self0.props
          return self
docs: Apply the constrain of the features passed to this instance.
  
          .. warning::
             Feature instances are only considered, that is, SoftFeatures will be
             not considered.
  
          Args:
  
          - new_features(Features): features to apply
          - conflict(str): if a property hasn't compatible values/constrains, do:
             - ``"error"``: raise exception.
             - ``"ignore"``: nothing.
             - ``"me"``: preserve the original value.
             - ``"other"``: set like the passed feature.
          - missing(str): if a property is missing in some side, do:
             - ``"error"``: raise exception.
             - ``"ignore"``: nothing.
             - ``"me"``: preserve the original value.
             - ``"other"``: set like the passed feature.