anchor.diff:    }
   
     _getInstance(ClassMirror type, SearchContext context) =>
  -  new _ClassInfo(type).getInstance(context, this);
  +      new _ClassInfo(type).getInstance(context, this);
   }
   
   class _ClassInfo {
     static final Map<ClassMirror, _ClassInfo> _classInfoCache =
  -    <ClassMirror, _ClassInfo>{};
  +      <ClassMirror, _ClassInfo>{};
   
     final ClassMirror _class;
     final List<_FieldInfo> _fields;
  
positive.code:     var name;
  
      if (field is VariableMirror &&
      !field.isFinal &&
      !field.isStatic &&
      !field.isConst) {
        type = field.type;
        name = field.simpleName;
        // TODO(DrMarcII): Support private setters when they work again
      } else if (field is MethodMirror &&
      field.isSetter &&
      !field.isStatic &&
      !field.isPrivate) {
        type = field.parameters.first.type;
        // HACK to get correct symbol name for operating with setField.
        name = field.simpleName.toString();
  
negative.code: 
    _FinderListFieldInfo(
        Symbol fieldName, this._finder, this._filters, this._instanceType)
        : super(fieldName);
  
    @override
    calculateFieldValue(SearchContext context, PageLoader loader) {
      List elements = _getElements(context, _finder, _filters);
      if (_instanceType.simpleName != const Symbol('WebElement')) {
        elements = elements
            .map((element) => loader._getInstance(_instanceType, element))
            .toList();
      }
      return elements;
    }
  