class_docstr: A group of :class:`Bar` objects.
  
  :param barDict: A map of instrument to :class:`Bar` objects.
  :type barDict: map.
  
  .. note::
      All bars must have the same datetime.
class_docstr_tok: ["A","group","of",":","class",":","`","Bar","`","objects",".",":","param","barDict",":","A","map","of","instrument","to",":","class",":","`","Bar","`","objects",".",":","type","barDict",":","map",".","..","note",":",":","All","bars","must","have","the","same","datetime","."]
code: def __init__(self, barDict):
      if len(barDict) == 0:
          raise Exception("No bars supplied")
  
      # Check that bar datetimes are in sync
      firstDateTime = None
      firstInstrument = None
      for instrument, currentBar in six.iteritems(barDict):
          if firstDateTime is None:
              firstDateTime = currentBar.getDateTime()
              firstInstrument = instrument
          elif currentBar.getDateTime() != firstDateTime:
              raise Exception(
                  "Bar data times are not in sync. %s %s != %s %s"
                  % (
                      instrument,
                      currentBar.getDateTime(),
                      firstInstrument,
                      firstDateTime,
                  )
              )
  
      self.__barDict = barDict
      self.__dateTime = firstDateTime
  
imports: import abc
  import six
label_desc: Use image node_id 1 to create a new Bars object from inherited base classes: object with example: obj = Bars(barDict)