# Buggy code
def _get_model(self, doc, root=None, parent=None, comm=None):
    """
    Should return the bokeh model to be rendered.
    """
    if "panel.models.vtk" not in sys.modules:
        if isinstance(comm, JupyterComm):
            self.param.warning(
                "VTKPlot was not imported on instantiation "
                "and may not render in a notebook. Restart "
                "the notebook kernel and ensure you load "
                "it as part of the extension using:"
                "\n\npn.extension('vtk')\n"
            )
        from ...models.vtk import VTKPlot
    else:
        VTKPlot = getattr(sys.modules["panel.models.vtk"], "VTKPlot")

    vtkjs = self._get_vtkjs()
    data = base64encode(vtkjs) if vtkjs is not None else vtkjs
    props = self._process_param_change(self._init_properties())
    model = VTKPlot(data=data, **props)
    if root is None:
        root = model
    self._link_props(
        model,
        ["data", "camera", "enable_keybindings", "orientation_widget"],
        doc,
        root,
        comm,
    )
    self._models[root.ref["id"]] = (model, parent)
    return model


# Traceback (ValueError)
2019-11-27 14:11:22,010 Exception in callback functools.partial(<function wrap.<locals>.null_wrapper at 0x0000
019A696F59D8>, <Future finished exception=ValueError("'data' is not a parameter of VTK00004")>)
Traceback (most recent call last):
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\tornado\ioloop.py", line 758, in _run_callback
ret = callback()
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\tornado\stack_context.py", line 300, in null_wrappe
r
return fn(*args, **kwargs)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\tornado\ioloop.py", line 779, in _discard_future_re
sult
future.result()
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\tornado\gen.py", line 1147, in run
yielded = self.gen.send(value)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\bokeh\server\session.py", line 70, in _needs_docume
nt_lock_wrapper
result = yield yield_for_all_futures(func(self, *args, **kwargs))
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\bokeh\server\session.py", line 191, in with_documen
t_locked
return func(*args, **kwargs)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\bokeh\document\document.py", line 1127, in wrapper
return doc._with_self_as_curdoc(invoke)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\bokeh\document\document.py", line 1113, in _with_se
lf_as_curdoc
return f()
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\bokeh\document\document.py", line 1126, in invoke
return f(*args, **kwargs)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\bokeh\document\document.py", line 916, in remove_th
en_invoke
return callback(*args, **kwargs)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\panel\viewable.py", line 714, in _change_event
self._process_events(events)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\panel\viewable.py", line 704, in _process_events
self.set_param(**self._process_property_change(events))
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\param\parameterized.py", line 1219, in inner
return fn(*args, **kwargs)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\param\parameterized.py", line 2572, in set_param
return self_or_cls.param.set_param(*args,**kwargs)
File "D:\Python\Python37-64\pyenv\py37\lib\site-packages\param\parameterized.py", line 1356, in set_param
raise ValueError("'%s' is not a parameter of %s" % (k, self_or_cls.name))
ValueError: 'data' is not a parameter of VTK00004

# Fixed code
def _get_model(self, doc, root=None, parent=None, comm=None):
    """
    Should return the bokeh model to be rendered.
    """
    if "panel.models.vtk" not in sys.modules:
        if isinstance(comm, JupyterComm):
            self.param.warning(
                "VTKPlot was not imported on instantiation "
                "and may not render in a notebook. Restart "
                "the notebook kernel and ensure you load "
                "it as part of the extension using:"
                "\n\npn.extension('vtk')\n"
            )
        from ...models.vtk import VTKPlot
    else:
        VTKPlot = getattr(sys.modules["panel.models.vtk"], "VTKPlot")

    vtkjs = self._get_vtkjs()
    data = base64encode(vtkjs) if vtkjs is not None else vtkjs
    props = self._process_param_change(self._init_properties())
    model = VTKPlot(data=data, **props)
    if root is None:
        root = model
    self._link_props(
        model, ["camera", "enable_keybindings", "orientation_widget"], doc, root, comm
    )
    self._models[root.ref["id"]] = (model, parent)
    return model