private void serializeLanguageSettingsInBackground() {
   ILanguageSettingsProvider wspProvider = LanguageSettingsManager.getWorkspaceProvider(getId());
   ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(wspProvider);
   if (rawProvider == this) {
     // this is workspace provider
     serializeLanguageSettingsInBackground(null);
   } else {
     serializeLanguageSettingsInBackground(currentCfgDescription);
   }
 }
 /**
  * Initialize the error parser.
  *
  * @param parserId - language settings provider (the build command parser) ID.
  */
 protected void init(String parserId) {
   AbstractBuildCommandParser buildCommandParser =
       (AbstractBuildCommandParser)
           LanguageSettingsManager.getExtensionProviderCopy(parserId, false);
   if (buildCommandParser != null) {
     for (String template : COMPILER_COMMAND_PATTERN_TEMPLATES) {
       String pattern = buildCommandParser.makePattern(template);
       String fileExpr = "$" + buildCommandParser.adjustFileGroup(); // $NON-NLS-1$
       String descExpr = "$0"; // $NON-NLS-1$
       addPattern(
           new RegexErrorPattern(
               pattern,
               fileExpr,
               null,
               descExpr,
               null,
               IMarkerGenerator.SEVERITY_WARNING,
               true));
     }
   }
 }