code: def inferSuperimposedSequenceObjects(exp, sequenceId, objectId, sequences, objects):
    
    # Create the (loc, feat) pairs for this sequence for column 0.
    objectSensations = {
      0: [pair for pair in sequences[sequenceId]]
    }
  
    inferConfig = {
      "object": sequenceId,
      "numSteps": len(objectSensations[0]),
      "pairs": objectSensations,
    }
  
    inferenceSDRSequence = sequences.provideObjectToInfer(inferConfig)
  
    # Create sequence of random sensations for this object for one column. The
    # total number of sensations is equal to the number of points on the object.
    # No point should be visited more than once.
    objectSensations = {}
    objectSensations[0] = []
    obj = objects[objectId]
    objectCopy = [pair for pair in obj]
    random.shuffle(objectCopy)
    for pair in objectCopy:
      objectSensations[0].append(pair)
  
    inferConfig = {
      "numSteps": len(objectSensations[0]),
      "pairs": objectSensations,
      "includeRandomLocation": False,
    }
  
    inferenceSDRObject = objects.provideObjectToInfer(inferConfig)
  
    superimposedSDRs = createSuperimposedSDRs(inferenceSDRSequence, inferenceSDRObject)
  
    # exp.infer(superimposedSDRs, objectName=str(sequenceId) + "+" + str(objectId))
    exp.infer(superimposedSDRs, objectName=sequenceId*len(objects) + objectId)
docs: Run inference on the given sequence.