code: private void writeCompilerElement(final ContentHandler content, final boolean isDebug, final String basePath,
        final CommandLineCompilerConfiguration compilerConfig) throws SAXException {
      final AttributesImpl attributes = new AttributesImpl();
      addAttribute(attributes, "Name", "VCCLCompilerTool");
      String optimization = getOptimization(compilerConfig);
      String debugFormat = getDebugInformationFormat(compilerConfig);
      if (isDebug) {
        optimization = "0";
        if ("0".equals(debugFormat)) {
          debugFormat = "4";
        }
      } else {
        if ("0".equals(optimization)) {
          optimization = "2";
        }
        debugFormat = "0";
      }
      addAttribute(attributes, "Optimization", optimization);
      addAttribute(attributes, "AdditionalIncludeDirectories", getAdditionalIncludeDirectories(basePath, compilerConfig));
      addAttribute(attributes, "PreprocessorDefinitions", getPreprocessorDefinitions(compilerConfig, isDebug));
      addAttribute(attributes, "MinimalRebuild", this.trueLiteral);
      addAttribute(attributes, "BasicRuntimeChecks", getBasicRuntimeChecks(compilerConfig));
      addAttribute(attributes, "RuntimeLibrary", getRuntimeLibrary(compilerConfig, isDebug));
      addAttribute(attributes, "UsePrecompiledHeader", getUsePrecompiledHeader(compilerConfig));
      addAttribute(attributes, "PrecompiledHeaderFile", getPrecompiledHeaderFile(compilerConfig));
      addAttribute(attributes, "WarningLevel", getWarningLevel(compilerConfig));
      addAttribute(attributes, "Detect64BitPortabilityProblems", getDetect64BitPortabilityProblems(compilerConfig));
      addAttribute(attributes, "DebugInformationFormat", debugFormat);
      content.startElement(null, "Tool", "Tool", attributes);
      content.endElement(null, "Tool", "Tool");
  
    }
docs: write the Compiler element.
  
  @param content
  serialization content handler.
  @param isDebug
  true if generating debug configuration.
  @param basePath
  base for relative file paths.
  @param compilerConfig
  compiler configuration.
  @throws SAXException
  thrown if error during serialization.