def save(self, path, format, binary=False, use_load_condition=False):
        """
        Save object as word embedding file. For most arguments, you should refer
        to :func:`~word_embedding_loader.word_embedding.WordEmbedding.load`.

        Args:
            use_load_condition (bool): If `True`, options from
                :func:`~word_embedding_loader.word_embedding.WordEmbedding.load`
                is used.

        Raises:
            ValueError: ``use_load_condition == True`` but the object is not
                initialized via
                :func:`~word_embedding_loader.word_embedding.WordEmbedding.load`.
        """
        if use_load_condition:
            if self._load_cond is None:
                raise ValueError(
                    b"use_load_condition was specified but the object is not "
                    b"loaded from a file")
            # Use load condition
            mod = self._load_cond
        else:
            mod = _select_module(format, binary)


        if self.freqs is None:
            itr = list(
                sorted(six.iteritems(self.vocab), key=lambda k_v: k_v[1]))
        else:
            itr = list(
                sorted(six.iteritems(self.vocab),
                       key=lambda k_v: self.freqs[k_v[0]], reverse=True)
            )

        with open(path, mode='wb') as f:
            mod.saver.save(f, self.vectors, itr)