<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_dataset_samples(self, dataset_name, owner=None):
 """ Get the list of samples of a specific remote dataset. :param dataset_name: the dataset name :param owner: (optional) who owns the dataset. If it is not specified, the current user is used. For public dataset use 'public'. :return: a pandas Dataframe """

        if isinstance(owner, str):
            owner = owner.lower()
            dataset_name = owner + "." + dataset_name

        header = self.__check_authentication()

        url = self.address + "/datasets/" + dataset_name
        response = requests.get(url, headers=header)
        if response.status_code != 200:
            raise ValueError("Code {}: {}".format(response.status_code, response.json().get("error")))
        response = response.json()
        samples = response.get("samples")
        if len(samples) == 0:
            return None
        res = pd.DataFrame.from_dict(samples)
        return self.process_info_list(res, "info")