cdi - Cant inject Gson in java with @inject -


hello have following problem, when load class without @inject private gson gson runs normaly, when put it throws exception.

class calls gson.

package core.control;  import java.util.list;  import javax.inject.inject; import javax.inject.named;  import com.google.gson.gson;  import core.dao.sistemadao; import core.model.sistema;  @named public class sistemacontrol {      private sistemadao sistemadao;      @inject     private gson gson;      @inject     public sistemacontrol(sistemadao sistemadao) {         this.sistemadao = sistemadao;     }      public string gettodosossistemas() {         list<sistema> sistemas = sistemadao.buscartodos();         string json = "oiii";         return json;     }  } 

the creator:

package core.control;  import javax.enterprise.inject.disposes; import javax.enterprise.inject.produces;  import com.google.gson.gson;  public class criadorgson {      @produces     public gson criargson() {         gson gson = new gson();         return gson;     }      public void destruir(@disposes gson gson) {         gson = null;     }  } 

the class calls bean calls gson

package core.jsfconnection;  import javax.enterprise.context.requestscoped; import javax.inject.inject; import javax.inject.named;  import core.control.sistemacontrol;  @named("sistemamb") @requestscoped public class sistemamb {      @inject     private sistemacontrol sistemacontrol;      public string gettodossistemas() {         string sistemasjson = sistemacontrol.gettodosossistemas();         return sistemasjson;     }  } 

the exception

grave: cdi beans module deployment failed org.apache.webbeans.exception.inject.deploymentexception: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.webbeans.config.beansdeployer.deploy(beansdeployer.java:215)     @ org.apache.openejb.cdi.openejblifecycle.startapplication(openejblifecycle.java:194)     @ org.apache.openejb.cdi.threadsingletonserviceimpl.initialize(threadsingletonserviceimpl.java:160)     @ org.apache.openejb.cdi.cdibuilder.build(cdibuilder.java:41)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:797)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:623)     @ org.apache.tomee.catalina.tomcatwebappbuilder.startinternal(tomcatwebappbuilder.java:1248)     @ org.apache.tomee.catalina.tomcatwebappbuilder.configurestart(tomcatwebappbuilder.java:1087)     @ org.apache.tomee.catalina.globallistenersupport.lifecycleevent(globallistenersupport.java:130)     @ org.apache.catalina.util.lifecyclesupport.firelifecycleevent(lifecyclesupport.java:117)     @ org.apache.catalina.util.lifecyclebase.firelifecycleevent(lifecyclebase.java:90)     @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5378)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)     @ java.lang.thread.run(thread.java:745) caused by: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.webbeans.util.injectionexceptionutil.throwunsatisfiedresolutionexception(injectionexceptionutil.java:60)     @ org.apache.webbeans.container.injectionresolver.checkinjectionpoint(injectionresolver.java:195)     @ org.apache.webbeans.container.beanmanagerimpl.validate(beanmanagerimpl.java:955)     @ org.apache.webbeans.config.beansdeployer.validate(beansdeployer.java:491)     @ org.apache.webbeans.config.beansdeployer.validateinjectionpoints(beansdeployer.java:422)     @ org.apache.webbeans.config.beansdeployer.deploy(beansdeployer.java:202)     ... 18 more  abr 27, 2015 5:53:03 pm org.apache.catalina.core.containerbase removechild grave: containerbase.removechild: destroy:  org.apache.catalina.lifecycleexception: invalid lifecycle transition attempted ([before_destroy]) component [standardengine[catalina].standardhost[localhost].standardcontext[/patrimonio]] in state [starting_prep]     @ org.apache.catalina.util.lifecyclebase.invalidtransition(lifecyclebase.java:409)     @ org.apache.catalina.util.lifecyclebase.destroy(lifecyclebase.java:299)     @ org.apache.catalina.core.containerbase.removechild(containerbase.java:1041)     @ org.apache.tomee.catalina.tomcatwebappbuilder.undeploy(tomcatwebappbuilder.java:1524)     @ org.apache.tomee.catalina.tomcatwebappbuilder.undeploy(tomcatwebappbuilder.java:1505)     @ org.apache.tomee.catalina.tomcatwebappbuilder.undeploywebapps(tomcatwebappbuilder.java:747)     @ org.apache.openejb.assembler.classic.assembler.destroyapplication(assembler.java:1668)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:892)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:623)     @ org.apache.tomee.catalina.tomcatwebappbuilder.startinternal(tomcatwebappbuilder.java:1248)     @ org.apache.tomee.catalina.tomcatwebappbuilder.configurestart(tomcatwebappbuilder.java:1087)     @ org.apache.tomee.catalina.globallistenersupport.lifecycleevent(globallistenersupport.java:130)     @ org.apache.catalina.util.lifecyclesupport.firelifecycleevent(lifecyclesupport.java:117)     @ org.apache.catalina.util.lifecyclebase.firelifecycleevent(lifecyclebase.java:90)     @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5378)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)     @ java.lang.thread.run(thread.java:745)  abr 27, 2015 5:53:03 pm org.apache.openejb.assembler.classic.assembler destroyapplication advertÊncia: cant unbind resource patrimonio/beanmanager abr 27, 2015 5:53:03 pm org.apache.catalina.loader.webappclassloader clearreferencesthreads grave: web application [/patrimonio] appears have started thread named [hsqldb timer @50149626] has failed stop it. create memory leak. abr 27, 2015 5:53:03 pm org.apache.catalina.loader.webappclassloader checkthreadlocalmapforleaks grave: web application [/patrimonio] created threadlocal key of type [com.sun.xml.bind.v2.runtime.coordinator$1] (value [com.sun.xml.bind.v2.runtime.coordinator$1@78523259]) , value of type [java.lang.object[]] (value [[ljava.lang.object;@5c67aec5]) failed remove when web application stopped. threads going renewed on time try , avoid probable memory leak. abr 27, 2015 5:53:03 pm org.apache.catalina.loader.webappclassloader checkthreadlocalmapforleaks grave: web application [/patrimonio] created threadlocal key of type [com.sun.xml.bind.v2.classfactory$1] (value [com.sun.xml.bind.v2.classfactory$1@1b0336e8]) , value of type [java.util.weakhashmap] (value [{class org.apache.openejb.jee.jpa.unit.persistence=java.lang.ref.weakreference@7009c732, class java.util.arraylist=java.lang.ref.weakreference@11f4dd15, class org.apache.openejb.jee.jpa.unit.property=java.lang.ref.weakreference@62de96e8, class javax.xml.bind.annotation.adapters.collapsedstringadapter=java.lang.ref.weakreference@3858c0e, class org.apache.openejb.jee.jpa.unit.properties=java.lang.ref.weakreference@34adecf0, class org.apache.openejb.jee.jpa.unit.propertiesadapter=java.lang.ref.weakreference@69e9b95, class org.apache.openejb.jee.jpa.unit.persistenceunit=java.lang.ref.weakreference@16f85698}]) failed remove when web application stopped. threads going renewed on time try , avoid probable memory leak. abr 27, 2015 5:53:03 pm org.apache.tomee.catalina.tomcatwebappbuilder startinternal grave: unable deploy collapsed ear in war standardengine[catalina].standardhost[localhost].standardcontext[/patrimonio] org.apache.openejb.openejbexception: creating application failed: /home/thiago/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/patrimonio: couldn't start owb context     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:896)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:623)     @ org.apache.tomee.catalina.tomcatwebappbuilder.startinternal(tomcatwebappbuilder.java:1248)     @ org.apache.tomee.catalina.tomcatwebappbuilder.configurestart(tomcatwebappbuilder.java:1087)     @ org.apache.tomee.catalina.globallistenersupport.lifecycleevent(globallistenersupport.java:130)     @ org.apache.catalina.util.lifecyclesupport.firelifecycleevent(lifecyclesupport.java:117)     @ org.apache.catalina.util.lifecyclebase.firelifecycleevent(lifecyclebase.java:90)     @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5378)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)     @ java.lang.thread.run(thread.java:745) caused by: org.apache.openejb.openejbruntimeexception: couldn't start owb context     @ org.apache.openejb.cdi.threadsingletonserviceimpl.initialize(threadsingletonserviceimpl.java:162)     @ org.apache.openejb.cdi.cdibuilder.build(cdibuilder.java:41)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:797)     ... 14 more caused by: org.apache.openejb.openejbruntimeexception: org.apache.webbeans.exception.inject.deploymentexception: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.openejb.cdi.openejblifecycle.startapplication(openejblifecycle.java:197)     @ org.apache.openejb.cdi.threadsingletonserviceimpl.initialize(threadsingletonserviceimpl.java:160)     ... 16 more caused by: org.apache.webbeans.exception.inject.deploymentexception: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.webbeans.config.beansdeployer.deploy(beansdeployer.java:215)     @ org.apache.openejb.cdi.openejblifecycle.startapplication(openejblifecycle.java:194)     ... 17 more caused by: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.webbeans.util.injectionexceptionutil.throwunsatisfiedresolutionexception(injectionexceptionutil.java:60)     @ org.apache.webbeans.container.injectionresolver.checkinjectionpoint(injectionresolver.java:195)     @ org.apache.webbeans.container.beanmanagerimpl.validate(beanmanagerimpl.java:955)     @ org.apache.webbeans.config.beansdeployer.validate(beansdeployer.java:491)     @ org.apache.webbeans.config.beansdeployer.validateinjectionpoints(beansdeployer.java:422)     @ org.apache.webbeans.config.beansdeployer.deploy(beansdeployer.java:202)     ... 18 more  abr 27, 2015 5:53:03 pm org.apache.catalina.core.containerbase startinternal grave: child container failed during start java.util.concurrent.executionexception: org.apache.catalina.lifecycleexception: failed start component [standardengine[catalina].standardhost[localhost].standardcontext[/patrimonio]]     @ java.util.concurrent.futuretask.report(futuretask.java:122)     @ java.util.concurrent.futuretask.get(futuretask.java:188)     @ org.apache.catalina.core.containerbase.startinternal(containerbase.java:1123)     @ org.apache.catalina.core.standardhost.startinternal(standardhost.java:816)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)     @ java.lang.thread.run(thread.java:745) caused by: org.apache.catalina.lifecycleexception: failed start component [standardengine[catalina].standardhost[localhost].standardcontext[/patrimonio]]     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:154)     ... 6 more caused by: org.apache.tomee.catalina.tomeeruntimeexception: org.apache.openejb.openejbexception: creating application failed: /home/thiago/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/patrimonio: couldn't start owb context     @ org.apache.tomee.catalina.tomcatwebappbuilder.startinternal(tomcatwebappbuilder.java:1257)     @ org.apache.tomee.catalina.tomcatwebappbuilder.configurestart(tomcatwebappbuilder.java:1087)     @ org.apache.tomee.catalina.globallistenersupport.lifecycleevent(globallistenersupport.java:130)     @ org.apache.catalina.util.lifecyclesupport.firelifecycleevent(lifecyclesupport.java:117)     @ org.apache.catalina.util.lifecyclebase.firelifecycleevent(lifecyclebase.java:90)     @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5378)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     ... 6 more caused by: org.apache.openejb.openejbexception: creating application failed: /home/thiago/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/patrimonio: couldn't start owb context     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:896)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:623)     @ org.apache.tomee.catalina.tomcatwebappbuilder.startinternal(tomcatwebappbuilder.java:1248)     ... 12 more caused by: org.apache.openejb.openejbruntimeexception: couldn't start owb context     @ org.apache.openejb.cdi.threadsingletonserviceimpl.initialize(threadsingletonserviceimpl.java:162)     @ org.apache.openejb.cdi.cdibuilder.build(cdibuilder.java:41)     @ org.apache.openejb.assembler.classic.assembler.createapplication(assembler.java:797)     ... 14 more caused by: org.apache.openejb.openejbruntimeexception: org.apache.webbeans.exception.inject.deploymentexception: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.openejb.cdi.openejblifecycle.startapplication(openejblifecycle.java:197)     @ org.apache.openejb.cdi.threadsingletonserviceimpl.initialize(threadsingletonserviceimpl.java:160)     ... 16 more caused by: org.apache.webbeans.exception.inject.deploymentexception: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.webbeans.config.beansdeployer.deploy(beansdeployer.java:215)     @ org.apache.openejb.cdi.openejblifecycle.startapplication(openejblifecycle.java:194)     ... 17 more caused by: javax.enterprise.inject.unsatisfiedresolutionexception: api type [core.control.sistemacontrol] not found qualifiers  qualifiers: [@javax.enterprise.inject.default()] injection field injection point, field name :  sistemacontrol, bean owner : [sistemamb, name:sistemamb, webbeans type:managed, api types:[java.lang.object,core.jsfconnection.sistemamb], qualifiers:[javax.enterprise.inject.any,javax.enterprise.inject.default,javax.inject.named]]     @ org.apache.webbeans.util.injectionexceptionutil.throwunsatisfiedresolutionexception(injectionexceptionutil.java:60)     @ org.apache.webbeans.container.injectionresolver.checkinjectionpoint(injectionresolver.java:195)     @ org.apache.webbeans.container.beanmanagerimpl.validate(beanmanagerimpl.java:955)     @ org.apache.webbeans.config.beansdeployer.validate(beansdeployer.java:491)     @ org.apache.webbeans.config.beansdeployer.validateinjectionpoints(beansdeployer.java:422)     @ org.apache.webbeans.config.beansdeployer.deploy(beansdeployer.java:202)     ... 18 more  abr 27, 2015 5:53:03 pm org.apache.catalina.core.containerbase startinternal grave: child container failed during start java.util.concurrent.executionexception: org.apache.catalina.lifecycleexception: failed start component [standardengine[catalina].standardhost[localhost]]     @ java.util.concurrent.futuretask.report(futuretask.java:122)     @ java.util.concurrent.futuretask.get(futuretask.java:188)     @ org.apache.catalina.core.containerbase.startinternal(containerbase.java:1123)     @ org.apache.catalina.core.standardengine.startinternal(standardengine.java:300)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.core.standardservice.startinternal(standardservice.java:443)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.core.standardserver.startinternal(standardserver.java:739)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     @ org.apache.catalina.startup.catalina.start(catalina.java:689)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:606)     @ org.apache.catalina.startup.bootstrap.start(bootstrap.java:321)     @ org.apache.catalina.startup.bootstrap.main(bootstrap.java:455) caused by: org.apache.catalina.lifecycleexception: failed start component [standardengine[catalina].standardhost[localhost]]     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:154)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1575)     @ org.apache.catalina.core.containerbase$startchild.call(containerbase.java:1565)     @ java.util.concurrent.futuretask.run(futuretask.java:262)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)     @ java.lang.thread.run(thread.java:745) caused by: org.apache.catalina.lifecycleexception: child container failed during start     @ org.apache.catalina.core.containerbase.startinternal(containerbase.java:1131)     @ org.apache.catalina.core.standardhost.startinternal(standardhost.java:816)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     ... 6 more  abr 27, 2015 5:53:03 pm org.apache.catalina.startup.catalina start grave: required server component failed start tomcat unable start. org.apache.catalina.lifecycleexception: failed start component [standardserver[8005]]     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:154)     @ org.apache.catalina.startup.catalina.start(catalina.java:689)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:606)     @ org.apache.catalina.startup.bootstrap.start(bootstrap.java:321)     @ org.apache.catalina.startup.bootstrap.main(bootstrap.java:455) caused by: org.apache.catalina.lifecycleexception: failed start component [standardservice[catalina]]     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:154)     @ org.apache.catalina.core.standardserver.startinternal(standardserver.java:739)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     ... 7 more caused by: org.apache.catalina.lifecycleexception: failed start component [standardengine[catalina]]     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:154)     @ org.apache.catalina.core.standardservice.startinternal(standardservice.java:443)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     ... 9 more caused by: org.apache.catalina.lifecycleexception: child container failed during start     @ org.apache.catalina.core.containerbase.startinternal(containerbase.java:1131)     @ org.apache.catalina.core.standardengine.startinternal(standardengine.java:300)     @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)     ... 11 more 

it's not gson problem. providing sistemacontrol in sistemamb class? stack trace looks nothing is.

for example add produces method class:

public class criadormodule {      @produces     public sistemacontrol criarsistemacontrol() {         return new sistemacontrol();     }      @produces     public gson criargson() {         gson gson = new gson();         return gson;     }      // fyi destroy in criadorgson class has no effect, need understand how variables work in java. gson local copy of reference.  }