anchor.diff:    return null;
   }
   
  +Paint _getDefinitionPaint(
  +    String iri, DrawableDefinitionServer definitions, Rect bounds) {
  +  final Paint paint = definitions.getPaint(iri, bounds);
  +  if (paint == null) {
  +    FlutterError.onError(
  +      new FlutterErrorDetails(
  +        exception: new StateError('Failed to find definition for $iri'),
  +        context: 'in _getDefinitionPaint',
  +        library: 'SVG',
  +        informationCollector: (StringBuffer buff) {
  +          buff.writeln(
  +              'This library only supports <defs> that are defined ahead of their references. '
  +              'This error can be caused when the desired definition is defined after the element '
  +              'referring to it (e.g. at the end of the file), or defined in another file.');
  +          buff.writeln(
  +              'This error is treated as non-fatal, but your SVG file will likely not render as intended');
  +        },
  +      ),
  +    );
  +  }
  +  return paint;
  +}
  +
   /// Parses a @stroke attribute into a [Paint].
   Paint parseStroke(
       XmlElement el, Rect bounds, DrawableDefinitionServer definitions) {
  
positive.code:   }
  
    if (rawFill.startsWith('url')) {
      return definitions.getPaint(rawFill, bounds);
    }
  
    final String rawOpacity = getAttribute(el, 'fill-opacity');
  
negative.code:   }
  
    if (rawStroke.startsWith('url')) {
      return _getDefinitionPaint(rawStroke, definitions, bounds);
    }
    final String rawOpacity = getAttribute(el, 'stroke-opacity');
  
  