@Override
 public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
   DartX.todo("indent");
   String partitioning = getConfiguredDocumentPartitioning(sourceViewer);
   if (DartPartitions.DART_DOC.equals(contentType)
       || DartPartitions.DART_MULTI_LINE_COMMENT.equals(contentType)) {
     return new IAutoEditStrategy[] {new DartDocAutoIndentStrategy(partitioning)};
   } else if (DartPartitions.DART_MULTI_LINE_STRING.equals(contentType)) {
     return new IAutoEditStrategy[] {
       new SmartSemicolonAutoEditStrategy(partitioning),
       new DartStringAutoIndentStrategy(partitioning)
     };
   } else if (DartPartitions.DART_STRING.equals(contentType)) {
     return new IAutoEditStrategy[] {
       new SmartSemicolonAutoEditStrategy(partitioning),
       new DartStringAutoIndentStrategy(partitioning)
     };
   } else if (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType)) {
     return new IAutoEditStrategy[] {
       new SmartSemicolonAutoEditStrategy(partitioning),
       new DartAutoIndentStrategy(partitioning, getProject(), sourceViewer)
     };
   } else {
     return new IAutoEditStrategy[] {
       new DartAutoIndentStrategy(partitioning, getProject(), sourceViewer)
     };
   }
 }
 @Override
 public ITextDoubleClickStrategy getDoubleClickStrategy(
     ISourceViewer sourceViewer, String contentType) {
   if (DartPartitions.DART_DOC.equals(contentType)
       || DartPartitions.DART_SINGLE_LINE_DOC.equals(contentType)) {
     return new DartDocDoubleClickStrategy();
   }
   if (DartPartitions.DART_MULTI_LINE_COMMENT.equals(contentType)
       || DartPartitions.DART_SINGLE_LINE_COMMENT.equals(contentType)) {
     return new DefaultTextDoubleClickStrategy();
   } else if (DartPartitions.DART_STRING.equals(contentType)
       || DartPartitions.DART_MULTI_LINE_STRING.equals(contentType)) {
     return new DartStringDoubleClickSelector(getConfiguredDocumentPartitioning(sourceViewer));
   }
   if (fJavaDoubleClickSelector == null) {
     fJavaDoubleClickSelector = new DartDoubleClickSelector();
     fJavaDoubleClickSelector.setSourceVersion(
         fPreferenceStore.getString(JavaScriptCore.COMPILER_SOURCE));
   }
   return fJavaDoubleClickSelector;
 }