def METHOD_NAME(self):
    self.get_versions()
    r = RET_OK
    for key in self.target_versions:
        if key not in self.versions:
            perror("TODO: get", key, "version")
            continue
        if type(self.versions[key]) not in (str, unicode):
            pinfo("no", key)
            continue
        if type(self.target_versions[key]) == list and \
           self.versions[key] not in self.target_versions[key]:
            perror(key, "version is %s, target %s"%(self.versions[key], ' or '.join(self.target_versions[key])))
            r |= RET_ERR
        elif type(self.target_versions[key]) != list and \
             self.versions[key] != self.target_versions[key]:
            perror(key, "version is %s, target %s"%(self.versions[key], self.target_versions[key]))
            r |= RET_ERR
        else:
            pinfo(key, "version is %s, on target"%self.versions[key])
            continue
    return r