def METHOD_NAME(self, args):
    ns = self.op.parse_args(args=args, lineno=self.lineno)
    snap_data = self.dataClass()   # pylint: disable=not-callable
    self.set_to_obj(ns, snap_data)
    snap_data.lineno = self.lineno
    # Check for duplicates
    if snap_data.name in [snap.name for snap in self.dataList()]:
        msg = (_("Snapshot with the name %s has been already defined!") % snap_data.name)
        raise KickstartParseError(msg, lineno=self.lineno)
    if snap_data.when is None:
        msg = _("Snapshot \"when\" parameter must be specified!")
        raise KickstartParseError(msg, lineno=self.lineno)
    groups = snap_data.origin.split('/')
    if len(groups) != 2 or len(groups[0]) == 0 or len(groups[1]) == 0:
        msg = (_("Snapshot origin %s must be specified by VG/LV!") % snap_data.origin)
        raise KickstartParseError(msg, lineno=self.lineno)
    # Check if value in a '--when' param is valid
    if snap_data.when != "" and snap_data.when not in self.whenMap.values():
        msg = (_("Snapshot when param must have one of these values %s!") %
               self.whenMap.keys())
        raise KickstartParseError(msg, lineno=self.lineno)
    return snap_data