@ Override public < T > T getInstance ( Class < ? super T > interfaceClass , Object ... args ) { Params . notNull ( interfaceClass , "Interface class" ) ; ManagedClassSPI managedClass = classesPool . get ( interfaceClass ) ; if ( managedClass == null ) { throw new BugError ( "No managed class associated with interface class |%s|." , interfaceClass ) ; } InstanceKey instanceKey = new InstanceKey ( managedClass . getKey ( ) ) ; return getInstance ( managedClass , instanceKey , args ) ; }
INSTANCE RETRIEVAL ALGORITHM