code: def testReconstructArtifactMultimap_HeterogenousArtifactTypes(self):
      a = Artifact(id=1, type_id=1, name="a")
      b = Artifact(id=2, type_id=2, name="b")
  
      with self.assertRaisesRegex(
          ValueError, 'Artifact type of key "a" is heterogeneous'
      ):
          event_lib.reconstruct_artifact_multimap(
              artifacts=[a, b],
              events=[
                  Event(artifact_id=a.id, path=valid_path("a", 0)),
                  Event(artifact_id=b.id, path=valid_path("a", 1)),
              ],
          )
  
imports: import itertools
  from absl.testing import parameterized
  import tensorflow
  from tfx.orchestration.portable.mlmd import event_lib
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 9 for calling the EventLibTest obj's underlying member method code with example usage: obj.testReconstructArtifactMultimap_HeterogenousArtifactTypes() without return types