Writes the specified specfiles to ``siic`` files on the hard disk.

        .. note::
            If ``.save()`` is called and no ``siic`` files are present in the
            specified path new files are generated, otherwise old files are
            replaced.

        :param specfiles: the name of an ms-run file or a list of names. If None
            all specfiles are selected.
        :param compress: bool, True to use zip file compression
        :param path: filedirectory to which the ``siic`` files are written. By
            default the parameter is set to ``None`` and the filedirectory is
            read from ``self.info[specfile]['path']``

def save(self, specfiles=None, compress=True, path=None):
        """Writes the specified specfiles to ``siic`` files on the hard disk.

        .. note::
            If ``.save()`` is called and no ``siic`` files are present in the
            specified path new files are generated, otherwise old files are
            replaced.

        :param specfiles: the name of an ms-run file or a list of names. If None
            all specfiles are selected.
        :param compress: bool, True to use zip file compression
        :param path: filedirectory to which the ``siic`` files are written. By
            default the parameter is set to ``None`` and the filedirectory is
            read from ``self.info[specfile]['path']``
        """
        if specfiles is None:
            specfiles = [_ for _ in viewkeys(self.info)]
        else:
            specfiles = aux.toList(specfiles)

        for specfile in specfiles:
            if specfile not in self.info:
                warntext = 'Error while calling "SiiContainer.save()": "%s" is'\
                           ' not present in "SiiContainer.info"!'\
                            % (specfile, )
                warnings.warn(warntext)
                continue
            else:
                path = self.info[specfile]['path'] if path is None else path

            with aux.PartiallySafeReplace() as msr:
                filename = specfile + '.siic'
                filepath = aux.joinpath(path, filename)
                with msr.open(filepath, mode='w+b') as openfile:
                    self._writeContainer(openfile, specfile, compress)