def METHOD_NAME(self) -> List[Instance]:
    self.download_data()
    # Read all the instances
    instances: List[Instance] = []
    splits: Dict[str, str] = {
        "dev": TRAIN_SPLIT,
        "test": TEST_SPLIT,
    }
    all_splits = ["dev", "test"] if self.context == "steer-qa" else ["test"]
    csv_dict = {
        "dev": os.path.join(self.output_path, f"{self.context}.csv"),
        "test": os.path.join(self.output_path, f"{self.survey_type}.csv"),
    }
    bios_df = None
    if self.context in ["steer-bio", "steer-portray"]:
        bios_path = os.path.join(self.output_path, f"{self.context}.csv")
        bios_df = pd.read_csv(bios_path, sep="\t")
    for split in all_splits:
        csv_path: str = csv_dict[split]
        assert os.path.exists(csv_path)
        question_df = self.read_survey_questions(csv_path)
        for qidx, (question, answers) in enumerate(zip(question_df["question"], question_df["options"])):
            # Opinions QA test questions have no correct answer and thus we set it to be None by default
            # for all test instances.
            # In the case where context = steer-qa, we add demographic information in the form of a
            # in-context question answer pair as shown in the example above.
            correct_answer = None if split == "test" else question_df["correct"][qidx]
            def answer_to_reference(answer: str) -> Reference:
                return Reference(
                    Output(text=answer),
                    tags=[CORRECT_TAG] if (answer == correct_answer and split != "test") else [],
                )
            if bios_df is None:
                # context = "default" or "steer-qa"
                instance = Instance(
                    Input(text=question),
                    references=list(map(answer_to_reference, answers)),
                    split=splits[split],
                )
                instances.append(instance)
            else:
                # context = "steer-bio"or "steer-portray"
                for bio in bios_df["question"].values:
                    context = PassageQuestionInput(passage=bio, question=question + "\n")
                    instance = Instance(
                        context,
                        references=list(map(answer_to_reference, answers)),
                        split=splits[split],
                    )
                    instances.append(instance)
    return instances