protected abstract bool CanNavigate(DirectionFilter directionFilter);
 private Navigator(DirectionFilter directionFilter)
 {
     _directionFilter = directionFilter;
 }
 protected override bool CanNavigate(DirectionFilter directionFilter)
 {
     return directionFilter.CanNavigateDown;
 }
 public MoveDownCellNavigator(DirectionFilter directionFilter)
     : base(directionFilter)
 {
 }
 public MoveRightCellNavigator(DirectionFilter directionFilter)
     : base(directionFilter)
 {
 }
 protected override bool CanNavigate(DirectionFilter _)
 {
     return false;
 }