docs: def map_request_to_vnics(self, requests, vnics, existing_network, default_network, reserved_networks):
          """
          gets the requests for connecting netwoks and maps it the suitable vnic of specific is not specified
          :param reserved_networks: array of reserved networks
          :param requests:
          :param vnics:
          :param existing_network:
          :param default_network:
          :return:
          """
          mapping = dict()
          reserved_networks = reserved_networks if reserved_networks else []
  
          vnics_to_network_mapping = self._map_vnic_to_network(vnics, existing_network, default_network, reserved_networks)
          for request in requests:
              if request.vnic_name:
                  if request.vnic_name not in vnics_to_network_mapping:
                      raise ValueError('No vNIC by that name "{0}" exist'.format(request.vnic_name))
                  net_at_requsted_vnic = vnics_to_network_mapping[request.vnic_name]
                  if self.quali_name_generator.is_generated_name(net_at_requsted_vnic):
                      raise ValueError('The vNIC: "{0}" is already set with: "{1}"'.format(request.vnic_name,
                                                                                           net_at_requsted_vnic))
                  mapping[request.vnic_name] = (request.network, request.vnic_name)
                  vnics_to_network_mapping.pop(request.vnic_name)
              else:
                  vnic_name = self._find_available_vnic(vnics_to_network_mapping, default_network)
                  mapping[vnic_name] = (request.network, request.vnic_name)
                  vnics_to_network_mapping.pop(vnic_name)
  
          return mapping