def __setstate__(self, state):
        value, prefixlen, version = state

        self._value = value

        if version == 4:
            self._module = _ipv4
        elif version == 6:
            self._module = _ipv6
        else:
            raise ValueError('unpickling failed for object state %s' \
                % str(state))

        if 0 <= prefixlen <= self._module.width:
            self._prefixlen = prefixlen
        else:
            raise ValueError('unpickling failed for object state %s' \
                % str(state))
read/write of 4D NMRPipe time domain file (two index).
dataset/ETHPy150Open drkjam/netaddr/netaddr/ip/__init__.py/IPNetwork.__setstate__--crossover with--dataset/ETHPy150Open jjhelmus/nmrglue/nmrglue/fileio/tests/test_pipe.py/test_4d_time_double_index