code: def add_head(
      self, deployment: str, address: str, head_id: Optional[int] = 0
  ):  # the head_id is always 0 for now, this will change when scaling the head
      self._add_connection(deployment, head_id, address, "heads")
  
file_path: jina/jina/serve/networking/connection_pool_map.py
imports: import os
  from typing import TYPE_CHECKING, Dict, List, Optional, Sequence
  from jina.logging.logger import JinaLogger
  from jina.serve.networking.instrumentation import _NetworkingHistograms, _NetworkingMetrics
  from jina.serve.networking.replica_list import _ReplicaList
label_desc: Use image node_id 3 for calling the _ConnectionPoolMap obj's underlying member method code with example usage: obj.add_head(deployment, address, head_id) without return types