<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def convert_destination_to_id(destination_node, destination_port, nodes):
 """ Convert a destination to device and port ID :param str destination_node: Destination node name :param str destination_port: Destination port name :param list nodes: list of nodes from :py:meth:`generate_nodes` :return: dict containing device ID, device name and port ID :rtype: dict """

        device_id = None
        device_name = None
        port_id = None
        if destination_node != 'NIO':
            for node in nodes:
                if destination_node == node['properties']['name']:
                    device_id = node['id']
                    device_name = destination_node
                    for port in node['ports']:
                        if destination_port == port['name']:
                            port_id = port['id']
                            break
                    break
        else:
            for node in nodes:
                if node['type'] == 'Cloud':
                    for port in node['ports']:
                        if destination_port.lower() == port['name'].lower():
                            device_id = node['id']
                            device_name = node['properties']['name']
                            port_id = port['id']
                            break

        info = {'id': device_id,
                'name': device_name,
                'pid': port_id}
        return info