code: public synchronized WSPKCSInKeyStore insert(String tokenType, String tokenlib, String tokenPwd, boolean askeystore, String keyStoreProvider) throws Exception {
          // check to see if the library has been initialized already;by comparing
          // the elements in the enumerations
          // perhaps a java 2 sec mgr
          if (tc.isEntryEnabled())
              Tr.entry(tc, "insert", new Object[] { tokenType, tokenlib, keyStoreProvider });
  
          WSPKCSInKeyStore pKS = insertedAlready(tokenlib);
          boolean already = false;
  
          // what is inserted already, but not as the askeystore specified. In
          // other words, askeystore indicates keystore, but
          // the pKS was inserted as truststore.
  
          // looks like we have not inserted anything yet.
          if (pKS == null) {
              pKS = new WSPKCSInKeyStore(tokenlib, keyStoreProvider);
          } else {
              already = true;
          }
          if (askeystore)
              pKS.asKeyStore(tokenType, tokenlib, tokenPwd);
          else
              pKS.asTrustStore(tokenType, tokenlib, tokenPwd);
  
          if (!already)
              theV.add(pKS);
  
          if (tc.isEntryEnabled()) {
              Tr.exit(tc, "insert");
          }
          return pKS;
      }
docs: Insert a new keystore into the list.
  
  @param tokenType
  @param tokenlib
  @param tokenPwd
  @param askeystore
  @param contextProvider
  @param pureAcceleration
  @return WSPKCSInKeyStore
  @throws Exception