'Read the array corresponding to this wrapper.
Use the unpickler to get all information to correctly read the array.
Parameters
unpickler: NumpyUnpickler
Returns
array: numpy.ndarray'

def read(self, unpickler):

    if ((unpickler.mmap_mode is not None) and self.allow_mmap):
        array = self.read_mmap(unpickler)
    else:
        array = self.read_array(unpickler)
    if (hasattr(array, '__array_prepare__') and (self.subclass not in (unpickler.np.ndarray, unpickler.np.memmap))):
        new_array = unpickler.np.core.multiarray._reconstruct(self.subclass, (0,), 'b')
        return new_array.__array_prepare__(array)
    else:
        return array
