code: public String addInclude(String include, int lineNo, ICodeType codeType) {
          TemplateTestResult testResult = engine.testTemplate(include, templateClass, codeType);
          if (null == testResult) {
              throw new ParseException(engine, templateClass, lineNo, "include template not found: %s", include);
          }
          // if there was an error in the included template - report it here
          if (testResult.getError()!=null) {
             String errMsg=testResult.getError().getMessage();
             throw new ParseException(engine, templateClass, lineNo,errMsg, include);
          }
          String tmplName=testResult.getFullName();
          TemplateBase includeTmpl = (TemplateBase) engine.getRegisteredTemplate(tmplName);
          
          if (includeTmpl instanceof JavaTagBase) {
              throw new ParseException(engine, templateClass, lineNo, "cannot include Java tag: %s", include);
          }
          // check that we didn't get any include at all
          if (includeTmpl==null) {
              throw new ParseException(engine, templateClass, lineNo, "include for template failed: %s ", include);
          }
          TemplateClass includeTc = includeTmpl.__getTemplateClass(false);
          includeTc.buildSourceCode(includingClassName());
          merge(includeTc.codeBuilder);
          templateClass.addIncludeTemplateClass(includeTc);
          return includeTc.codeBuilder.buildBody;
      }
docs: add include
  @param include
  @param lineNo
  @param codeType
  @return the string