(((mvr).type == carma_planning_msgs::msg::Maneuver::INTERSECTION_TRANSIT_LEFT_TURN ? \
(mvr).intersection_transit_left_turn_maneuver.property : \
((mvr).type == carma_planning_msgs::msg::Maneuver::INTERSECTION_TRANSIT_RIGHT_TURN ? \
(mvr).intersection_transit_right_turn_maneuver.property : \
((mvr).type == carma_planning_msgs::msg::Maneuver::INTERSECTION_TRANSIT_STRAIGHT ? \
(mvr).intersection_transit_straight_maneuver.property : \
((mvr).type == carma_planning_msgs::msg::Maneuver::LANE_CHANGE ? (mvr).lane_change_maneuver.property : \
((mvr).type == carma_planning_msgs::msg::Maneuver::LANE_FOLLOWING ? (mvr).lane_following_maneuver.property : \
((mvr).type == carma_planning_msgs::msg::Maneuver::STOP_AND_WAIT ? (mvr).stop_and_wait_maneuver.property : \
throw new std::invalid_argument("GET_MANEUVER_" \
"PROPERTY " \
"(property) " \
"called on " \
"maneuver with " \
"invalid type " \
"id"))))))))