def METHOD_NAME(testdata_dir, tmp_trestle_dir):
    """Test more complicated list loading."""
    # prepare trestle project dir with the file
    test_utils.ensure_trestle_config_dir(tmp_trestle_dir)
    test_data_source = testdata_dir / 'split_merge/step4_split_groups_array/catalogs'
    catalogs_dir = tmp_trestle_dir / 'catalogs'
    mycatalog_dir = catalogs_dir / 'mycatalog'
    catalog_dir = mycatalog_dir / 'catalog'
    # Copy files from test/data/split_merge/step4
    shutil.rmtree(catalogs_dir)
    shutil.copytree(test_data_source, catalogs_dir)
    actual_model_type, _, actual_groups = ModelUtils._load_list(catalog_dir / 'groups', tmp_trestle_dir)
    # load_list is expected to return a list of array, instead of an instance of Groups class
    expected_groups = (actual_model_type.oscal_read(testdata_dir / 'split_merge/load_distributed/groups.json'))
    # FIXME confirm this is correct.  __root__ was not needed prior to updating oscal to dev branch
    assert actual_groups == expected_groups.__root__