<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_for_block( cls, i=None, name=None, cname=None, version=None, **kwargs):
 """ return a new datacol with the block i """


        if cname is None:
            cname = name or 'values_block_{idx}'.format(idx=i)
        if name is None:
            name = cname

        # prior to 0.10.1, we named values blocks like: values_block_0 an the
        # name values_0
        try:
            if version[0] == 0 and version[1] <= 10 and version[2] == 0:
                m = re.search(r"values_block_(\d+)", name)
                if m:
                    name = "values_{group}".format(group=m.groups()[0])
        except IndexError:
            pass

        return cls(name=name, cname=cname, **kwargs)