def METHOD_NAME(self, filename):
    # -- HINT: In most cases
    # EXCEPT:
    #   * Scenarios of ScenarioOutline: scenario.line == SO.examples.row.line
    #   * Empty entity without steps is directly followed by other entity
    feature_text = feature_file_map[filename]
    feature = parse_feature(feature_text, filename=filename)
    line_database = FeatureLineDatabase.make(feature)
    all_run_items = feature.walk_scenarios(with_outlines=True, with_rules=True)
    file_end_line = all_run_items[-1].location.line + 1000
    for index, run_item in enumerate(all_run_items):
        next_line = run_item.location.line + 1
        next_entity_line = file_end_line
        if index+1 < len(all_run_items):
            next_entity = all_run_items[index+1]
            next_entity_line = next_entity.line
        if next_line >= next_entity_line:
            # -- EXCLUDE: Scenarios in a ScenarioOutline
            print("EXCLUDED: %s: %s (line=%s)" %
                  (run_item.keyword, run_item.name, run_item.line))
            continue
        selected = line_database.select_run_item_by_line(next_line)
        assert selected is run_item