<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _create(self, **kwargs):
        '''Allow creation of draft policy and ability to publish a draft

        Draft policies only exist in 12.1.0 and greater versions of TMOS.
        But there must be a method to create a draft, then publish it.

        :raises: MissingRequiredCreationParameter
        '''

        tmos_ver = self._meta_data['bigip']._meta_data['tmos_version']
        legacy = kwargs.pop('legacy', False)
        publish = kwargs.pop('publish', False)
        self._filter_version_specific_options(tmos_ver, **kwargs)
        if LooseVersion(tmos_ver) < LooseVersion('12.1.0'):
            return super(Policy, self)._create(**kwargs)
        else:
            if legacy:
                return super(Policy, self)._create(legacy=True, **kwargs)
            else:
                if 'subPath' not in kwargs:
                    msg = "The keyword 'subPath' must be specified when " \
                        "creating draft policy in TMOS versions >= 12.1.0. " \
                        "Try and specify subPath as 'Drafts'."
                    raise MissingRequiredCreationParameter(msg)
                self = super(Policy, self)._create(**kwargs)
                if publish:
                    self.publish()
                return self