static JavaType constructType(Type type) {
        try {
            return constructTypeInner(type);
        } catch (Exception e) {
            throw new InvalidDataTableTypeException(type, e);
        }
    }
@Test
    void lists_are_list_types() {
        JavaType javaType = TypeFactory.constructType(LIST_OF_LIST_OF_OBJECT);
        assertThat(javaType.getClass(), equalTo(TypeFactory.ListType.class));
        assertThat(javaType.getOriginal(), is(LIST_OF_LIST_OF_OBJECT));

        TypeFactory.ListType listType = (TypeFactory.ListType) javaType;
        JavaType elementType = listType.getElementType();
        assertThat(elementType.getClass(), equalTo(TypeFactory.ListType.class));
        assertThat(elementType.getOriginal(), is(LIST_OF_OBJECT));
    }