def convert(self, *args, **kwargs):
if args:<EOL><INDENT>raise NotImplementedError<EOL><DEDENT>by_item = kwargs.get('<STR_LIT>', True)<EOL>new_inputs = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>new_style = False<EOL>for kw in new_inputs:<EOL><INDENT>new_style |= kw in kwargs<EOL><DEDENT>if new_style:<EOL><INDENT>fn = soft_convert_objects<EOL>fn_inputs = new_inputs<EOL><DEDENT>else:<EOL><INDENT>fn = maybe_convert_objects<EOL>fn_inputs = ['<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>']<EOL><DEDENT>fn_inputs += ['<STR_LIT>']<EOL>fn_kwargs = {key: kwargs[key] for key in fn_inputs if key in kwargs}<EOL>def f(m, v, i):<EOL><INDENT>shape = v.shape<EOL>values = fn(v.ravel(), **fn_kwargs)<EOL>try:<EOL><INDENT>values = values.reshape(shape)<EOL>values = _block_shape(values, ndim=self.ndim)<EOL><DEDENT>except (AttributeError, NotImplementedError):<EOL><INDENT>pass<EOL><DEDENT>return values<EOL><DEDENT>if by_item and not self._is_single_block:<EOL><INDENT>blocks = self.split_and_operate(None, f, False)<EOL><DEDENT>else:<EOL><INDENT>values = f(None, self.values.ravel(), None)<EOL>blocks = [make_block(values, ndim=self.ndim,<EOL>placement=self.mgr_locs)]<EOL><DEDENT>return blocks<EOL>
attempt to coerce any object types to better types return a copy of
        the block (if copy = True) by definition we ARE an ObjectBlock!!!!!

        can return multiple blocks!