def METHOD_NAME(state_locations):
    tested = 0
    errors = 0
    known_models = []
    for f in state_locations:
        state_file = load(f)
        if 'variants' in state_file:
            variants = state_file['variants']
            for variant in variants.values():
                if isinstance(variant, list):  # catches randomized models
                    for v in variant:
                        model = v['model']
                        tested, errors = find_model_file(f, model, tested, errors, 'Blockstate file %s points to non-existent model: %s')
                        known_models.append(model)
                elif 'model' in variant:
                    model = variant['model']
                    tested, errors = find_model_file(f, model, tested, errors, 'Blockstate file %s points to non-existent model: %s')
                    known_models.append(model)
        elif 'multipart' in state_file:
            multipart = state_file['multipart']
            for mp in multipart:
                if 'apply' in mp:
                    apply = mp['apply']
                    if isinstance(apply, list):
                        for entry in apply:
                            if 'model' in entry:
                                model = entry['model']
                                tested, errors = find_model_file(f, model, tested, errors, 'Blockstate file %s points to non-existent model: %s')
                                known_models.append(model)
                    elif 'model' in apply:
                        model = apply['model']
                        tested, errors = find_model_file(f, model, tested, errors, 'Blockstate file %s points to non-existent model: %s')
                        known_models.append(model)
    print('Blockstate Validation: Validated %s files, found %s errors' % (tested, errors))
    return errors, known_models