def save(self):
        """Saves the state of the changelist"""
        if not self._dirty:
            return

        fields = []
        formdata = dict(self._p4dict)
        del formdata['code']
        for key, value in six.iteritems(formdata):
            match = re.search('\d$', key)
            if match:
                value = '\t{}'.format(value)
                key = key[:match.start()]

            value = value.replace('\n', '\n\t')
            fields.append('{}:  {}'.format(key, value))
        form = '\n'.join(fields)
        self._connection.run([self.COMMAND, '-i'], stdin=form, marshal_output=False)
        self._dirty = False
Saves the state of the changelist