renderTree method 
    
      
void
renderTree(
 - Canvas canvas
)inherited
     
    
    
  Implementation
  void renderTree(Canvas canvas) {
  final context = renderContext;
  if (context != null) {
    _renderContexts.add(context);
  }
  render(canvas);
  final children = _children;
  if (children != null) {
    for (final child in children) {
      final hasContext = _renderContexts.isNotEmpty;
      if (hasContext) {
        child._renderContexts.addAll(_renderContexts);
      }
      child.renderTree(canvas);
      if (hasContext) {
        child._renderContexts.removeRange(
          _renderContexts.length,
          child._renderContexts.length,
        );
      }
    }
  }
  // Any debug rendering should be rendered on top of everything
  if (debugMode) {
    renderDebugMode(canvas);
  }
  if (context != null) {
    _renderContexts.removeLast();
  }
}