Tries to fetch a string which could be composed of multiple lines, with each line having some sort of
        separator. Try to convert the string fetched into a list by separating on the given separator, defaulting to
        the newline character. If the string is not present we just return None.
        :param key: The variable to look for
        :param optional: Throw a ConfigKeyNotFoundError if key is not found and this was set to False
        :return: list

def get_string_list(self, key, optional=False):
        """
        Tries to fetch a string which could be composed of multiple lines, with each line having some sort of
        separator. Try to convert the string fetched into a list by separating on the given separator, defaulting to
        the newline character. If the string is not present we just return None.
        :param key: The variable to look for
        :param optional: Throw a ConfigKeyNotFoundError if key is not found and this was set to False
        :return: list
        """
        try:
            return self._get_typed_value(key, list, lambda x: x.splitlines(), optional)
        except ConfigTypeError:
            s = self.get_string(key, optional)
            return s.splitlines() if s else []