public CarRemoverRoadInformation( CarsRemover carsRemover, IEventAggregator eventAggregator )
 {
     Contract.Requires( carsRemover != null );
     Contract.Requires( eventAggregator != null );
     this._carsRemover = carsRemover;
     this._eventAggregator = eventAggregator;
 }
 public void Build( BuilderContext context, IControl control )
 {
     var roadJunctionBlock = ( CarsRemoverBuildMode ) control;
     this._carsRemover = new CarsRemover( roadJunctionBlock, c => context.RoadInformationFactory.Create( c ) );
     context.AddElement( roadJunctionBlock, this._carsRemover );
 }
 private void SetRouteElement( IRoadElement element )
 {
     var carRemover = element as CarsRemover;
     if ( carRemover == null ) { throw new ArgumentException( "Wrong road element" ); }
     this._carRemover = carRemover;
 }