def METHOD_NAME(self):
    # if we have caps that we know we want, but we can
    # can work around, setup config variables here so
    # that we know to do just that
    self.tmpCaps = self.missingCaps
    # this is an example of how to work around it
    key = 'caneatCheese'
    if key in self.tmpCaps:
        # do whatevers needed to workaround
        del self.tmpCaps[key]
    else:
        # we support this, set a config option to
        # indicate that possibly
        pass
    # dict of key to configItem, and the config item that
    # corresponds with it
    capsConfigMap = {'supportsAutoUp2dateOption': 'supportsAutoUp2dateOption',
                     'registration.finish_message': 'supportsFinishMessage',
                     "registration.update_contact_info" : 'supportsUpdateContactInfo',
                     "registration.delta_packages" : 'supportsDeltaPackages',
                     "xmlrpc.packages.extended_profile" : 'supportsExtendedPackageProfile',
                     "registration.extended_update_support" : "supportsEUS",
                     "registration.smbios" : "supportsSMBIOS"}
    for key in capsConfigMap.keys():
        self.setConfig(key, capsConfigMap[key])
    # if we want to blow up on missing caps we cant eat around
    missingCaps = []
    wrongVersionCaps = []
    if len(self.tmpCaps):
        for cap in self.tmpCaps:
            capInfo = self.tmpCaps[cap]
            if capInfo == None:
                # it's completly mssing
                missingCaps.append((cap, capInfo))
            else:
                wrongVersionCaps.append((cap, capInfo))
    errString = ""
    errorList = []
    if len(wrongVersionCaps):
        for (cap, capInfo) in wrongVersionCaps:
            errString = errString + "Needs %s of version: %s but server has version: %s\n" % (cap,
                                                                                capInfo['version'],
                                                                                self.data[cap]['version'])
            errorList.append({"capName":cap, "capInfo":capInfo, "serverVersion":self.data[cap]})
    if len(missingCaps):
        for (cap, capInfo) in missingCaps:
            errString = errString + "Needs %s but server does not support that capability\n" % (cap)
            errorList.append({"capName":cap, "capInfo":capInfo, "serverVersion":""})
    if len(errString):
        raise up2dateErrors.ServerCapabilityError(errString, errorList)