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.

def applyFeatures(self, new_features, conflict="error", missing="error"):
        """
        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.
        """

        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