code: def __init__(
      self,
      module: ManagedCollisionEmbeddingBagCollection,
      table_name_to_parameter_sharding: Dict[str, ParameterSharding],
      ebc_sharder: EmbeddingBagCollectionSharder,
      mc_sharder: ManagedCollisionCollectionSharder,
      # TODO - maybe we need this to manage unsharded/sharded consistency/state consistency
      env: ShardingEnv,
      device: torch.device,
  ) -> None:
      super().__init__(
          module,
          table_name_to_parameter_sharding,
          ebc_sharder,
          mc_sharder,
          env,
          device,
      )
  
      # For backwards compat, some references still to self._embedding_bag_collection
      # pyre-ignore [8]
      self._embedding_bag_collection: ShardedEmbeddingBagCollection = (
          self._embedding_module
      )
  
imports: from dataclasses import dataclass
  from typing import Dict, Optional, Type
  import torch
  from torchrec.distributed.embedding_types import KJTList
  from torchrec.distributed.embeddingbag import EmbeddingBagCollectionContext, EmbeddingBagCollectionSharder, ShardedEmbeddingBagCollection
  from torchrec.distributed.mc_embedding_modules import BaseManagedCollisionEmbeddingCollectionSharder, BaseShardedManagedCollisionEmbeddingCollection
  from torchrec.distributed.mc_modules import ManagedCollisionCollectionSharder
  from torchrec.distributed.types import ParameterSharding, QuantizedCommCodecs, ShardingEnv
  from torchrec.modules.mc_embedding_modules import ManagedCollisionEmbeddingBagCollection
label_desc: Use image node_id 1 to create a new ShardedManagedCollisionEmbeddingBagCollection object from inherited base classes: BaseShardedManagedCollisionEmbeddingCollection with example: obj = ShardedManagedCollisionEmbeddingBagCollection(module, table_name_to_parameter_sharding, ebc_sharder, mc_sharder, env, device)