anchor.diff:    }
   
     @override
  -  Iterable<S> findAll<S>(Offset regionOffset) sync* {
  +  Iterable<S> findAll<S>(Offset regionOffset) {
  +    Iterable<S> result = Iterable<S>.empty();
       if (firstChild == null)
  -      return;
  +      return result;
       Layer child = lastChild;
       while (true) {
  -      yield* child.findAll<S>(regionOffset);
  +      result = result.followedBy(child.findAll<S>(regionOffset));
         if (child == firstChild)
           break;
         child = child.previousSibling;
       }
  +    return result;
     }
   
     @override
  
positive.code:   }
  
    @override
    Iterable<S> findAll<S>(Offset regionOffset) sync* {
      final Offset transformedOffset = _transformOffset(regionOffset);
      if (transformedOffset == null) {
        return;
      }
      yield* super.findAll<S>(transformedOffset);
    }
  
    @override
  
negative.code:       final S typedResult = untypedResult;
        return typedResult;
      }
      return null;
    }
  
    @override
    Iterable<S> findAll<S>(Offset regionOffset) {
      final Iterable<S> childResults = super.findAll<S>(regionOffset);
      if (size != null && !(offset & size).contains(regionOffset)) {
        return childResults;
      }
      if (T == S) {
        final Object untypedResult = value;
        final S typedResult = untypedResult;
        return childResults.followedBy(<S>[typedResult]);
      }
      return childResults;
    }
  
    @override
  