Critical patch: 1. Permission check performed during construction ensures necessary cache classes are loaded, to avoid Classloader deadlock once SecurityManager is in force. The deadlock occurs on a lock in JVM native code. 2. Permission getArg is called to ensure that lazy initialization state has been initialized prior to publication to another thread.