private boolean goalIsOnTheRoad(Goal goal) {
        Direction cabinDirection = cabinDirection();

        if (cabinDirection == Direction.DOWN) {
            return cabin.getCurrentFloor() >= goal.getFloor() && goal.getFloor() >= nextFloorToReach() && Direction.DOWN == goal.getNextDirection();
        }
        return cabin.getCurrentFloor() <= goal.getFloor() && goal.getFloor() <= nextFloorToReach() && Direction.UP == goal.getNextDirection();
    }