code: def map(self,
              internalize: Callable[[TExternalQubit], TInternalQubit],
              externalize: Callable[[TInternalQubit], TExternalQubit]
              ) -> 'QubitOrder':
          
  
          def func(qubits):
              unwrapped_qubits = [internalize(q) for q in qubits]
              unwrapped_result = self.order_for(unwrapped_qubits)
              return tuple(externalize(q) for q in unwrapped_result)
  
          return QubitOrder(func)
docs: Transforms the Basis so that it applies to wrapped qubits.
  
          Args:
              externalize: Converts an internal qubit understood by the underlying
                  basis into an external qubit understood by the caller.
              internalize: Converts an external qubit understood by the caller
                  into an internal qubit understood by the underlying basis.
  
          Returns:
              A basis that transforms qubits understood by the caller into qubits
              understood by an underlying basis, uses that to order the qubits,
              then wraps the ordered qubits back up for the caller.