/// <summary>
 /// Constructor
 /// </summary>
 /// <param name="lane"></param>
 public OpposingLateralReasoning(ArbiterLane lane, SideObstacleSide sos)
 {
     this.lane = lane;
     this.ForwardMonitor = new OpposingForwardQuadrantMonitor();
     this.LateralMonitor = new OpposingLateralQuadrantMonitor(sos);
     this.RearMonitor = new OpposingRearQuadrantMonitor(lane, sos);
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="leftLateral"></param>
 /// <param name="rightLateral"></param>
 public OpposingReasoning(ILateralReasoning leftLateral, ILateralReasoning rightLateral, ArbiterLane lane)
 {
     this.Lane = lane;
     this.leftLateralReasoning = leftLateral;
     this.rightLateralReasoning = rightLateral;
     this.OpposingForwardMonitor = new OpposingForwardQuadrantMonitor();
 }