def METHOD_NAME(self, reference_class, OID):
    if OID in self.oid_map:
        if reference_class == "DisplayString":
            (response_class,) = builder.MibBuilder().importSymbols(
                "SNMPv2-TC", "DisplayString"
            )
        elif reference_class == "OctetString":
            (response_class,) = builder.MibBuilder().importSymbols(
                "ASN1", "OctetString"
            )
        elif reference_class == "Integer32":
            (response_class,) = builder.MibBuilder().importSymbols(
                "SNMPv2-SMI", "Integer32"
            )
        elif reference_class == "Counter32":
            (response_class,) = builder.MibBuilder().importSymbols(
                "SNMPv2-SMI", "Counter32"
            )
        elif reference_class == "Gauge32":
            (response_class,) = builder.MibBuilder().importSymbols(
                "SNMPv2-SMI", "Gauge32"
            )
        elif reference_class == "TimeTicks":
            (response_class,) = builder.MibBuilder().importSymbols(
                "SNMPv2-SMI", "TimeTicks"
            )
        elif reference_class == "DateAndTime":
            (response_class,) = builder.MibBuilder().importSymbols(
                "SNMPv2-TC", "DateAndTime"
            )
        # TODO: All mode classes - or autodetect'ish?
        else:
            # dynamic responses are not supported for this class (yet)
            return False
        response_value = self.databus.get_value(self.oid_map[OID])
        return response_class(response_value)
    else:
        return None