code: private void resolveDependencies() throws RuntimeWarning {
          // d684950
          if (EJSPlatformHelper.isZOSCRA()) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "resolveDependencies: skipped in adjunct process");
              return;
          }
  
          // F743-20281 - If an exception happened during early dependency
          // resolution, then fail the application.
          if (ivSingletonDependencyResolutionException != null) {
              throw ivSingletonDependencyResolutionException;
          }
  
          // Beans currently on a dependency list. If A->B->C->A, then used={A}
          // then used={A,B} then used={A,B,C} then C->A is an error because A
          // is already in the set.
          Set<BeanMetaData> used = new HashSet<BeanMetaData>();
  
          // F7434950.CodRev - Create a copy of the key list since
          // resolveBeanDependencies will modify ivSingletonDependencies.
          for (BeanMetaData bmd : new ArrayList<BeanMetaData>(ivSingletonDependencies.keySet())) {
              used.add(bmd);
              resolveBeanDependencies(bmd, used);
              used.remove(bmd);
          }
      }
docs: Resolves and verifies the singleton dependency links.
  
  @throws RuntimeWarning
  if verification fails