code: public static synchronized IAsyncProvider createInstance() throws AsyncException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "createInstance");
          }
  
          if (instance == null) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "instance is null.  Instantiating new AsyncLibrary ");
              }
              instance = new AsyncLibrary();
          }
  
          if ((aioInitialized == AIO_NOT_INITIALIZED) || (aioInitialized == AIO_SHUTDOWN)) {
              initialize();
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "createInstance");
          }
  
          return instance;
      }
docs: Find or create the AIO provider.
  
  @return IAsyncProvider
  @throws AsyncException