code: def _getManagedObjectsInstances(self, varBinds, **context):
          
          rspVarBinds = context['rspVarBinds']
          varBindsMap = context['varBindsMap']
  
          rtrVarBinds = []
  
          for idx, varBind in enumerate(varBinds):
              name, val = varBind
              if (exval.noSuchObject.isSameTypeWith(val) or
                      exval.noSuchInstance.isSameTypeWith(val)):
                  varBindsMap[len(rtrVarBinds)] = varBindsMap.pop(idx, idx)
                  rtrVarBinds.append(varBind)
  
              else:
                  rspVarBinds[varBindsMap.pop(idx, idx)] = varBind
  
          if rtrVarBinds:
              snmpEngine = context['snmpEngine']
  
              # Need to unwind stack, can't recurse any more
              def callLater(*args):
                  snmpEngine.transportDispatcher.unregisterTimerCbFun(callLater)
                  mgmtFun = context['mgmtFun']
                  mgmtFun(*varBinds, **context)
  
              snmpEngine.transportDispatcher.registerTimerCbFun(callLater, 0.01)
  
          else:
              return rspVarBinds
docs: Iterate over Managed Objects fulfilling SNMP query.
  
          Returns
          -------
          :py:class:`list` - List of Managed Objects Instances to respond with or
              `None` to indicate that not all objects have been gathered
              so far.