anchor.diff:    
     Map toMap() => {
       'abstract': new List.from(abstractClasses.values
  -        .where((e) => _filterPrivate(e)).map((e) => e.qualifiedName)),
  +        .where(_isVisible).map((e) => e.qualifiedName)),
       'class': new List.from(regularClasses.values
  -        .where((e) => _filterPrivate(e)).map((e) => e.qualifiedName)),
  +        .where(_isVisible).map((e) => e.qualifiedName)),
       'typedef': recurseMap(typedefs),
       'error': new List.from(errors.values
  -        .where((e) => _filterPrivate(e)).map((e) => e.qualifiedName))
  +        .where(_isVisible).map((e) => e.qualifiedName))
     };
   }
   
  
positive.code:   // giant list of subclasses to be printed out. 
    entityMap['dart.core.Object'].subclasses.clear();
    
    var filteredEntities = entityMap.values.where((e) => _filterPrivate(e));
    // Output libraries and classes to file after all information is generated.
    filteredEntities.where((e) => e is Class || e is Library).forEach((output) {
      _writeIndexableToFile(output, outputToYaml);
  
negative.code:     }
    }
    
    /** 
     * If a class extends a private superclass, find the closest public superclass
     * of the private superclass. 
     */
    String validSuperclass() {
      if (superclass == null) return 'dart.core.Object';
      if (_isVisible(superclass)) return superclass.qualifiedName;
      return superclass.validSuperclass();
    }
    
    /// Generates a map describing the [Class] object.
    Map toMap() => {
      'name': name,
      'qualifiedname': qualifiedName,
      'comment': comment,
      'superclass': validSuperclass(),
      'implements': new List.from(interfaces.where(_isVisible)
          .map((e) => e.qualifiedName)),
      'subclass': new List.from(subclasses),
      'variables': recurseMap(variables),
  