def METHOD_NAME(self, port: Type):
    # For undriven clock types, we simply lift the port *but do not connect
    # it* since we expect auto-wiring to do this for us (in fact, this is
    # why the port is undriven in the first place). For non-clock types, we
    # simply log a debug message and allow the downstream circuit pipeline
    # to handle the undriven port.
    if not isinstance(port, ClockTypes):
        _logger.debug(f"found undriven port: {port}")
        return
    T = type(port).undirected_t
    if T in self._clock_types:
        return  # only add at most one port for each clock type
    self._clock_types.add(T)
    self._builder.add_port(In(T))