code: def get_protocol(handle: Handle, want_v2: bool) -> Protocol:
      
      force_v1 = int(os.environ.get("TREZOR_PROTOCOL_V1", 1))
      if want_v2 and not force_v1:
          return ProtocolV2(handle)
      else:
          return ProtocolV1(handle)
docs: Make a Protocol instance for the given handle.
  
      Each transport can have a preference for using a particular protocol version.
      This preference is overridable through `TREZOR_PROTOCOL_V1` environment variable,
      which forces the library to use V1 anyways.
  
      As of 11/2018, no devices support V2, so we enforce V1 here. It is still possible
      to set `TREZOR_PROTOCOL_V1=0` and thus enable V2 protocol for transports that ask
      for it (i.e., USB transports for Trezor T).