async def METHOD_NAME(self, item_key: PortKey, item_value: ItemConcreteValue) -> None:
    # first try to set the inputs.
    try:
        the_updated_inputs = await self.inputs
        await the_updated_inputs[item_key].METHOD_NAME(item_value)
        return
    except UnboundPortError:
        # not available try outputs
        # if this fails it will raise another exception
        the_updated_outputs = await self.outputs
        await the_updated_outputs[item_key].METHOD_NAME(item_value)