'Return the value of a query string parameter as a list.
List items must be comma-separated or must be provided
as multiple instances of the same param in the query string
ala *application/x-www-form-urlencoded*.
Args:
name (str): Parameter name, case-sensitive (e.g., \'ids\').
Keyword Args:
transform (callable): An optional transform function
that takes as input each element in the list as a ``str`` and
outputs a transformed element for inclusion in the list that
will be returned. For example, passing ``int`` will
transform list items into numbers.
required (bool): Set to ``True`` to raise ``HTTPBadRequest``
instead of returning ``None`` when the parameter is not
found (default ``False``).
store (dict): A ``dict``-like object in which to place
the value of the param, but only if the param is found (default
``None``).
Returns:
list: The value of the param if it is found. Otherwise, returns
``None`` unless required is True. Empty list elements will be
discarded. For example, the following query strings would
both result in `[\'1\', \'3\']`::
things=1,,3
things=1&things=&things=3
Raises:
HTTPBadRequest: A required param is missing from the request.
HTTPInvalidParam: A transform function raised an instance of
``ValueError``.'

def get_param_as_list(self, name, transform=None, required=False, store=None):

    params = self._params
    if (name in params):
        items = params[name]
        if (not isinstance(items, list)):
            items = [items]
        if (transform is not None):
            try:
                items = [transform(i) for i in items]
            except ValueError:
                msg = 'The    value    is    not    formatted    correctly.'
                raise errors.HTTPInvalidParam(msg, name)
        if (store is not None):
            store[name] = items
        return items
    if (not required):
        return None
    raise errors.HTTPMissingParam(name)
