@staticmethod
def from_array(array, force_copy=False, force_numpy=True, try_optimizing=
    False, wrapped=True):
    """
        Build a new object of the type corresponding to the wrapper from the supplied `array` (a 1D numpy array or a list).

        If ``force_copy==True``, make a copy of supplied array.
        For a :class:`Column1DWrapper`, if `column` is a list and ``force_numpy==True``, turn it into a numpy array and return :class:`.ArrayDataColumn`
        (by default lists are wrapped into :class:`.ListDataColumn`).
        For a :class:`Column1DWrapper`, if ``try_optimizing==True``, check if the column can be turned into a :class:`.LinearDataColumn`.
        If ``wrapped==True``, return a new wrapper contating the column; otherwise, just return the column.
        """
    raise NotImplementedError('I1DWrapper.from_array')
