def clone(cls, other_node):
        """
        Clone another :class:`Node` and return as :class:`StaticNode`.

        :param other_node: The node which shall be cloned
        :type other_node: :class:`Node`
        :rtype: :class:`StaticNode`
        :return: A static node which has the exact same features, identities
            and items as `other_node`.

        The features and identities are copied over into the resulting
        :class:`StaticNode`. The items of `other_node` are not copied but
        merely referenced, so changes to the item *objects* of `other_node`
        will be reflected in the result.

        .. versionadded:: 0.9
        """

        result = cls()
        result._features = {
            feature for feature in other_node.iter_features()
            if feature not in cls.STATIC_FEATURES
        }
        for category, type_, lang, name in other_node.iter_identities():
            names = result._identities.setdefault(
                (category, type_),
                aioxmpp.structs.LanguageMap()
            )
            names[lang] = name
        result.items = list(other_node.iter_items())
        return result
Clone another :class:`Node` and return as :class:`StaticNode`.

        :param other_node: The node which shall be cloned
        :type other_node: :class:`Node`
        :rtype: :class:`StaticNode`
        :return: A static node which has the exact same features, identities
            and items as `other_node`.

        The features and identities are copied over into the resulting
        :class:`StaticNode`. The items of `other_node` are not copied but
        merely referenced, so changes to the item *objects* of `other_node`
        will be reflected in the result.

        .. versionadded:: 0.9