A raw list converts to List> just fine. Why can\'t a list of raw lists convert to a list of List>?
{ // works
You cannot assign or cast it directly, because raw type List isn't the same as List>.
When using List type checking is ignored and you may use any generic method with any type. When using List> the compiler won't let you use methods with generic parameters.
Therefore you could either ignore the warnings:
@SuppressWarnings("rawtypes")
And/Or cast it explicitly with a workaround:
List> raw = (List>) ((Object)api());