anchor.diff:      'IntelliJ IDEA.app' : 'IntelliJIdea',
       'IntelliJ IDEA Ultimate.app' : 'IntelliJIdea',
       'IntelliJ IDEA CE.app' : 'IdeaIC',
  -    'WebStorm.app': 'WebStorm',
     };
   
     static Iterable<DoctorValidator> get installed {
  
positive.code:   static final Map<String, String> _idToTitle = <String, String>{
      'IntelliJIdea' : 'IntelliJ IDEA Ultimate Edition',
      'IdeaIC' : 'IntelliJ IDEA Community Edition',
      'WebStorm': 'WebStorm',
    };
  
    static final Version kMinIdeaVersion = new Version(2017, 1, 0);
    static final Version kMinWebStormVersion = new Version(2017, 1, 0);
    static final Version kMinFlutterPluginVersion = new Version(14, 0, 0);
  
    static Iterable<DoctorValidator> get installedValidators {
  
negative.code:   bool _hasIssues(List<ValidationMessage> messages) {
      return messages.any((ValidationMessage message) => message.isError);
    }
  
    void _validateIntelliJVersion(List<ValidationMessage> messages, Version minVersion) {
      // Ignore unknown versions.
  