freemarker template error (debug mode; use rethrow in production!):
the following has evaluated to null or missing:
==> contentobj  [in template "template_default/newpc/pc_body.ftl" at line 20, column 8]
----
tip: if the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myoptionalvar!mydefault, or use <#if myoptionalvar??>when-present<#else>when-missing. (these only cover the last step of the expression; to cover the whole expression, use parenthesis: (myoptionalvar.foo)!mydefault, (myoptionalvar.foo)??
----
----
ftl stack trace ("~" means nesting-related):
	- failed at: #list contentobj.contentchannels as e...  [in template "template_default/newpc/pc_body.ftl" in macro "channelcountylocation" at line 20, column 1]
	- reached through: @channelcountylocation  [in template "template_default/newpc/county/countycontent.ftl" in macro "countyvideobody" at line 30, column 9]
	- reached through: @ftp.countyvideobody  [in template "site_107//template/content/content.html" at line 14, column 1]
----
java stack trace (for programmers):
----
freemarker.core.invalidreferenceexception: [... exception message was already printed; see it above ...]
	at freemarker.core.invalidreferenceexception.getinstance(invalidreferenceexception.java:134)
	at freemarker.core.unexpectedtypeexception.newdesciptionbuilder(unexpectedtypeexception.java:80)
	at freemarker.core.unexpectedtypeexception.(unexpectedtypeexception.java:43)
	at freemarker.core.nonhashexception.(nonhashexception.java:49)
	at freemarker.core.dot._eval(dot.java:48)
	at freemarker.core.expression.eval(expression.java:81)
	at freemarker.core.iteratorblock.acceptwithresult(iteratorblock.java:98)
	at freemarker.core.iteratorblock.accept(iteratorblock.java:93)
	at freemarker.core.environment.visit(environment.java:362)
	at freemarker.core.environment.invoke(environment.java:714)
	at freemarker.core.unifiedcall.accept(unifiedcall.java:83)
	at freemarker.core.environment.visit(environment.java:362)
	at freemarker.core.environment.invoke(environment.java:714)
	at freemarker.core.unifiedcall.accept(unifiedcall.java:83)
	at freemarker.core.environment.visit(environment.java:326)
	at freemarker.core.environment.visit(environment.java:332)
	at freemarker.core.environment.process(environment.java:305)
	at freemarker.template.template.process(template.java:378)
	at cn.rednet.redcloud.template.service.impl.templatefile.templatefileservice.generatefilebyfile(templatefileservice.java:681)
	at cn.rednet.redcloud.template.service.impl.templatefile.templatefileservice.generatestaticfile(templatefileservice.java:285)
	at cn.rednet.redcloud.template.service.impl.templatefile.templatefileservice.generatestaticfileforcontentbyterminal(templatefileservice.java:240)
	at cn.rednet.redcloud.template.service.impl.templatefile.templatefileservice.generatestaticfileforcontent(templatefileservice.java:185)
	at cn.rednet.redcloud.template.service.impl.templatefile.templatefileservice$$fastclassbyspringcglib$$48aa813.invoke()
	at org.springframework.cglib.proxy.methodproxy.invoke(methodproxy.java:204)
	at org.springframework.aop.framework.cglibaopproxy$cglibmethodinvocation.invokejoinpoint(cglibaopproxy.java:737)
	at org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:157)
	at org.springframework.aop.aspectj.methodinvocationproceedingjoinpoint.proceed(methodinvocationproceedingjoinpoint.java:84)
	at cn.rednet.redcloud.common.aspect.classmethodtimeaspect.aroundmethod(classmethodtimeaspect.java:81)
	at sun.reflect.generatedmethodaccessor280.invoke(unknown source)
	at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)
	at java.lang.reflect.method.invoke(method.java:498)
	at org.springframework.aop.aspectj.abstractaspectjadvice.invokeadvicemethodwithgivenargs(abstractaspectjadvice.java:627)
	at org.springframework.aop.aspectj.abstractaspectjadvice.invokeadvicemethod(abstractaspectjadvice.java:616)
	at org.springframework.aop.aspectj.aspectjaroundadvice.invoke(aspectjaroundadvice.java:70)
	at org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179)
	at org.springframework.aop.interceptor.exposeinvocationinterceptor.invoke(exposeinvocationinterceptor.java:92)
	at org.springframework.aop.framework.reflectivemethodinvocation.proceed(reflectivemethodinvocation.java:179)
	at org.springframework.aop.framework.cglibaopproxy$dynamicadvisedinterceptor.intercept(cglibaopproxy.java:672)
	at cn.rednet.redcloud.template.service.impl.templatefile.templatefileservice$$enhancerbyspringcglib$$e777308d.generatestaticfileforcontent()
	at cn.rednet.redcloud.template.service.impl.migrationcontentstaticserviceimpl$batchstaticjob.lambda$run$4(migrationcontentstaticserviceimpl.java:232)
	at java.util.arraylist.foreach(arraylist.java:1257)
	at cn.rednet.redcloud.template.service.impl.migrationcontentstaticserviceimpl$batchstaticjob.run(migrationcontentstaticserviceimpl.java:231)
	at java.util.concurrent.executors$runnableadapter.call(executors.java:511)
	at java.util.concurrent.futuretask.run(futuretask.java:266)
	at java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1149)
	at java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:624)
	at java.lang.thread.run(thread.java:748)