def METHOD_NAME(self):
    vcr = VCR(self.seedName, 'rando') if self.vcr == True else None
    self.errorMsg = ""
    split = self.randoSettings.restrictions['MajorMinor']
    graphBuilder = GraphBuilder(self.graphSettings)
    container = None
    i = 0
    attempts = 500 if self.graphSettings.areaRando or self.graphSettings.doorsColorsRando or split == 'Scavenger' else 1
    now = time.process_time()
    endDate = sys.maxsize
    if self.randoSettings.runtimeLimit_s < endDate:
        endDate = now + self.randoSettings.runtimeLimit_s
    self.updateLocationsClass(split)
    while container is None and i < attempts and now <= endDate:
        self.restrictions = Restrictions(self.randoSettings)
        if self.graphSettings.doorsColorsRando == True:
            forbiddenColors = None if 'Combat' not in self.randoSettings.superFun else ['plasma']
            DoorsManager.METHOD_NAME(self.graphSettings.allowGreyDoors, forbiddenColors=forbiddenColors)
        self.areaGraph = graphBuilder.createGraph(self.randoSettings.maxDiff)
        services = RandoServices(self.areaGraph, self.restrictions)
        setup = RandoSetup(self.graphSettings, Logic.locations(), services)
        container = setup.createItemLocContainer(endDate, vcr)
        if container is None:
            sys.stdout.write('*')
            i += 1
        else:
            self.errorMsg += '; '.join(setup.errorMsgs)
        now = time.process_time()
    if container is None:
        if self.graphSettings.areaRando:
            self.errorMsg += "Could not find an area layout with these settings; "
        if self.graphSettings.doorsColorsRando:
            self.errorMsg += "Could not find a door color combination with these settings; "
        if split == "Scavenger":
            self.errorMsg += "Scavenger seed generation timed out; "
        if setup.errorMsgs:
            self.errorMsg += '; '.join(setup.errorMsgs)
        if self.errorMsg == "":
            self.errorMsg += "Unable to process settings; "
        return (True, [], [])
    assert setup.bossesWithDifficulty is not None
    self.areaGraph.printGraph()
    filler = self.createFiller(container, endDate, setup)
    self.log.debug("ItemLocContainer dump before filling:\n"+container.dump())
    # see comment on Objectives.permissive field
    Objectives.permissive = True
    ret = filler.generateItems(vcr=vcr)
    Objectives.permissive = False
    if not ret[0]:
        itemLocs, progItemLocs = (ret[1], ret[2])
        escapeTrigger = (itemLocs, progItemLocs, split) if self.randoSettings.restrictions["EscapeTrigger"] else None
        escapeOk = graphBuilder.escapeGraph(container, self.areaGraph, self.randoSettings.maxDiff, escapeTrigger)
        if not escapeOk:
            self.errorMsg += ("; " if self.errorMsg else "")+"Could not find a solution for escape"
            ret = (True, ret[1], ret[2])
    self.errorMsg += ("; " if self.errorMsg else "")+filler.errorMsg
    return ret