docs: def _draw_container_state_port(self, context, direction, color, transparency):
          """Draw the port of a container state
  
          Connector for container states are split in an inner connector and an outer connector.
  
          :param context: Cairo context
          :param direction: The direction the port is pointing to
          :param color: Desired color of the port
          :param float transparency: The level of transparency
          """
          c = context
  
          width, height = self.port_size
          c.set_line_width(self.port_side_size / constants.BORDER_WIDTH_OUTLINE_WIDTH_FACTOR *
                           self._port_image_cache.multiplicator)
  
          # Save/restore context, as we move and rotate the connector to the desired pose
          cur_point = c.get_current_point()
          c.save()
          c.rel_move_to(self.port_side_size / 2., self.port_side_size / 2.)
          PortView._rotate_context(c, direction)
          PortView._draw_inner_connector(c, width, height)
          c.restore()
  
          if self.connected_incoming:
              c.set_source_rgba(*gap_draw_helper.get_col_rgba(color, transparency))
          else:
              c.set_source_rgb(*gui_config.gtk_colors['PORT_UNCONNECTED'].to_floats())
          c.fill_preserve()
          c.set_source_rgba(*gap_draw_helper.get_col_rgba(color, transparency))
          c.stroke()
  
          c.move_to(*cur_point)
          c.save()
          c.rel_move_to(self.port_side_size / 2., self.port_side_size / 2.)
          PortView._rotate_context(c, direction)
          PortView._draw_outer_connector(c, width, height)
          c.restore()
  
          if self.connected_outgoing:
              c.set_source_rgba(*gap_draw_helper.get_col_rgba(color, transparency))
          else:
              c.set_source_rgb(*gui_config.gtk_colors['PORT_UNCONNECTED'].to_floats())
          c.fill_preserve()
          c.set_source_rgba(*gap_draw_helper.get_col_rgba(color, transparency))
          c.stroke()