JFreeChartWrapper

Hola.
Necesito ayuda con un error.
Tengo una ventana llamada consola que me muestra los graficos con datos de una tabla. Para ello uso, jFreeChart, jFreeChartWrapper, batik, etc. La ventana de consola me anda bien.
Pero cuando salgo de esa ventana (es el unico lugar donde uso jFreeChart), deja de funcionar otras cosas del sistama. El error es el siguiente.
[2017-12-02 12:03:21.692]
[86090 ]
[http-nio-8090-exec-7]
(ERROR) com.inodes.hrdata.ui.views.AbstractCRUD -
java.lang.NullPointerException
at org.vaadin.addon.JFreeChartWrapper.detach(JFreeChartWrapper.java:140)
at com.vaadin.ui.AbstractComponentContainer.detach(AbstractComponentContainer.java:112)
at com.vaadin.ui.AbstractComponentContainer.detach(AbstractComponentContainer.java:112)
at com.vaadin.ui.AbstractComponentContainer.detach(AbstractComponentContainer.java:112)
at com.inodes.hrdata.ui.views.View.detach(View.java:79)
at com.inodes.hrdata.ui.windows.MainWindow.setView(MainWindow.java:190)
at com.inodes.hrdata.ui.views.AbstractCRUD$BaseAcceptButtonListener.buttonClick(AbstractCRUD.java:465)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:490)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:164)
at com.vaadin.ui.AbstractComponent.fireEvent(AbstractComponent.java:1193)
at com.vaadin.ui.Button.fireClick(Button.java:479)
at com.vaadin.ui.Button.changeVariables(Button.java:198)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1297)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1217)
at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:733)
at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:296)
at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

I would start debugging here, probably you pass some value on here, which happens to be null.

at com.inodes.hrdata.ui.views.View.detach(View.java:79)

@Override
public void detach() {
if( getWindow() != null && getWindow() instanceof MainWindow ) {

        if( !((MainWindow)getWindow()).isPreviousComponent(this)) {                
            Iterator<Component> i = grid.getComponentIterator();
            while(i.hasNext()) {
                Component c = i.next();
                c.detach();
            }
            grid.removeAllComponents();
        }
    } else {
        Iterator<Component> i = grid.getComponentIterator();
        while(i.hasNext()) {
            Component c = i.next();
            c.detach();
        }
        grid.removeAllComponents();
    }
}

Este es el metodo. View extiende de Panel. Lo raro es que primero abro la consola. Luego voy a editar por ejemplo un empleado y lo edita bien. Y despues ya quiero volver a editar o hacer algo y me genera el error. No es inmediato.
Y no encuentro el null porque mo recibe nada el metodo.