See:
The last in particular provides detailed initialization steps that spell out when static variables are initialized, and in what order (with the caveat that final
class variables and interface fields that are compile-time constants are initialized first.)
I'm not sure what your specific question about point 3 (assuming you mean the nested one?) is. The detailed sequence states this would be a recursive initialization request so it will continue initialization.