docs: def make_sink_proxies(drivers):
      ''' Build a list of sink proxies. sink proxies are a two-level ordered
      dictionary. The first level contains the lst of drivers, and the second
      level contains the list of sink proxies for each driver:
  
      drv1-->sink1
        | |->sink2
        |
      drv2-->sink1
          |->sink2
      '''
      sink_proxies = OrderedDict()
      if drivers is not None:
          for driver_name in drivers._fields:
              driver = getattr(drivers, driver_name)
              driver_sink = getattr(driver, 'input')
              if driver_sink is not None:
                  driver_sink_proxies = OrderedDict()
                  for name in driver_sink._fields:
                      driver_sink_proxies[name] = Subject()
  
                  sink_proxies[driver_name] = driver.input(**driver_sink_proxies)
      return sink_proxies