1. override
void install(OverlayEntry insertionPoint)

Called when the route is inserted into the navigator.

Use this to populate overlayEntries and add them to the overlay (accessible as navigator.overlay). (The reason the Route is responsible for doing this, rather than the Navigator, is that the Route will be responsible for removing the entries and this way it's symmetric.)

The overlay argument will be null if this is the first route inserted.

Source

@override
void install(OverlayEntry insertionPoint) {
  _controller = createAnimationController();
  assert(_controller != null);
  _animation = createAnimation();
  assert(_animation != null);
  super.install(insertionPoint);
}