code: public ClassLoader getClassLoader() throws StrategyException {
  
          // Determine the package by parsing the attribute name (different name for different types of Rules based strategies)
          String kbAttributeName = getKnowledgeBaseAttributeName();
          Object kbName = getParameter(kbAttributeName);
          if (kbName == null)
              throw new StrategyException("Missing strategy parameter: " + kbAttributeName);
  
          // Get the package Name
          String kbNameStr = kbName.toString();
          int lastSlash = kbNameStr.lastIndexOf('/');
          String pkg = lastSlash == -1 ? null : kbNameStr.substring(0, lastSlash) ;
  
          try {
              Package pkgVO = PackageCache.getPackage(pkg);
              if (pkgVO == null)
                  throw new StrategyException("Unable to get package name from strategy: " + kbAttributeName +" value="+kbNameStr);
              // return the cloud class loader by default, unless the bundle spec is set
              return pkgVO.getClassLoader();
          }
          catch (CachingException ex) {
              throw new StrategyException("Error getting strategy package: " + pkg, ex);
          }
      }
docs: <p>
  By default returns the package CloudClassloader
  The knowledge based name is of the format "packageName/assetName", e.g "com.centurylink.mdw.test/TestDroolsRules.drl"
  If an application needs a different class loader for Strategies then this method should be overridden
  </p>
  @return Class Loader used for Knowledge based strategies
  @throws StrategyException