def METHOD_NAME(self, var):
    """Retrieves a system variable of the first agent instance.
    Will first try get-next on {var}, then fall back to getting {var}.0 on
    failure.  This is a workaround for a faulty SNMP agent implementation
    observed in Weathergoose devices, where e.g. a GET-NEXT on sysObjectID
    would consistently return sysUpTime.0 instead.
    """
    oid = self.nodes[var].oid
    result = yield self.get_next(var)
    if result:
        defer.returnValue(result)
    else:
        oid = oid + OID('0')
        result = yield self.agent_proxy.get([str(oid)])
        for key, value in result.items():
            if oid == OID(key):
                defer.returnValue(value)