<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def load_container(obj, container_type, params=None, container=None, field_archiver=None):
 """ Loads container of elements from the object representation. Supports the container ref. Returns loaded container. :param reader: :param container_type: :param params: :param container: :param field_archiver: :return: """

    field_archiver = field_archiver if field_archiver else load_field
    if obj is None:
        return None

    c_len = len(obj)
    elem_type = params[0] if params else None
    if elem_type is None:
        elem_type = container_type.ELEM_TYPE

    res = container if container else []
    for i in range(c_len):
        fvalue = await field_archiver(obj[i], elem_type,
                                      params[1:] if params else None,
                                      eref(res, i) if container else None)
        if not container:
            res.append(fvalue)
    return res