<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _handle_sdp_target_state_updated(sdp_state: SDPState):
 """Respond to an SDP target state change event. This function sets the current state of SDP to the target state if that is possible. TODO(BMo) This cant be done as a blocking function as it is here! """

    LOG.info('Handling SDP target state updated event...')
    LOG.info('SDP target state: %s', sdp_state.target_state)

    # Map between the SDP target state and the service target state?
    if sdp_state.target_state == 'off':
        _update_services_target_state('off')

    # TODO: Work out if the state of SDP has reached the target state.

    # If yes, update the current state.
    sdp_state.update_current_state(sdp_state.target_state)