@Override
  public void storeSource(McastRoute route, ConnectPoint source) {
    MulticastData data =
        mcastRoutes.compute(
            route,
            (k, v) -> {
              if (v == null) {
                return new MulticastData(source);
              } else {
                v.setSource(source);
              }
              return v;
            });

    if (data != null) {
      delegate.notify(
          new McastEvent(
              McastEvent.Type.SOURCE_ADDED,
              McastRouteInfo.mcastRouteInfo(route, data.sinks(), source)));
    }
  }