private static IndentOptions getFileTypeIndentOptions(FileTypeIndentOptionsProvider provider) {
   try {
     return provider.createIndentOptions();
   } catch (AbstractMethodError error) {
     LOG.error("Plugin uses obsolete API.", new ExtensionException(provider.getClass()));
     return new IndentOptions();
   }
 }
 private static IndentOptions getDefaultIndentOptions(FileType fileType) {
   final FileTypeIndentOptionsProvider[] providers =
       Extensions.getExtensions(FileTypeIndentOptionsProvider.EP_NAME);
   for (final FileTypeIndentOptionsProvider provider : providers) {
     if (provider.getFileType().equals(fileType)) {
       return getFileTypeIndentOptions(provider);
     }
   }
   return new IndentOptions();
 }
 private void loadAdditionalIndentOptions() {
   synchronized (myAdditionalIndentOptions) {
     myLoadedAdditionalIndentOptions = true;
     final FileTypeIndentOptionsProvider[] providers =
         Extensions.getExtensions(FileTypeIndentOptionsProvider.EP_NAME);
     for (final FileTypeIndentOptionsProvider provider : providers) {
       if (!myAdditionalIndentOptions.containsKey(provider.getFileType())) {
         registerAdditionalIndentOptions(
             provider.getFileType(), getFileTypeIndentOptions(provider));
       }
     }
   }
 }