@classmethod
def create_from(cls, vehicle):
    """
            Create a new vehicle from an existing one.
            The vehicle dynamics and target dynamics are copied, other properties are default.

        :param vehicle: a vehicle
        :return: a new vehicle at the same dynamical state
        """
    v = cls(vehicle.road, vehicle.position, heading=vehicle.heading,
        velocity=vehicle.velocity, target_lane_index=vehicle.
        target_lane_index, target_velocity=vehicle.target_velocity, route=
        vehicle.route)
    return v
