code: def adapter_remove_nio_binding(self, adapter_number):
          
  
          try:
              adapter = self._ethernet_adapters[adapter_number]
          except KeyError:
              raise VirtualBoxError("Adapter {adapter_number} doesn't exist on VirtualBox VM '{name}'".format(name=self.name,
                                                                                                              adapter_number=adapter_number))
  
          if self.is_running():
              yield from self._ubridge_send("bridge delete {name}".format(name="VBOX-{}-{}".format(self._id, adapter_number)))
          vm_state = yield from self._get_vm_state()
          if vm_state == "running":
              yield from self._control_vm("setlinkstate{} off".format(adapter_number + 1))
  
          nio = adapter.get_nio(0)
          if isinstance(nio, NIOUDP):
              self.manager.port_manager.release_udp_port(nio.lport, self._project)
          adapter.remove_nio(0)
  
          log.info("VirtualBox VM '{name}' [{id}]: {nio} removed from adapter {adapter_number}".format(name=self.name,
                                                                                                       id=self.id,
                                                                                                       nio=nio,
                                                                                                       adapter_number=adapter_number))
          return nio
docs: Removes an adapter NIO binding.
  
          :param adapter_number: adapter number
  
          :returns: NIO instance