code: protected void extractBundleContent(String bundleRootPath, String toDirRoot) throws IOException {
          File toDir = new File(toDirRoot);
          if (!toDir.isDirectory()) {
              throw new RuntimeException("[" + toDir.getAbsolutePath()
                      + "] is not a valid directory or does not exist!");
          }
          toDir = new File(toDir, bundle.getSymbolicName());
          toDir = new File(toDir, bundle.getVersion().toString());
          FileUtils.forceMkdir(toDir);
          bundleExtractDir = toDir;
  
          Enumeration<String> entryPaths = bundle.getEntryPaths(bundleRootPath);
          if (entryPaths != null) {
              while (entryPaths.hasMoreElements()) {
                  extractContent(bundleRootPath, entryPaths.nextElement(), bundleExtractDir);
              }
          }
      }
docs: Extracts content from the bundle to a directory.
  
  <p>
  Sub-class calls this method to extract all or part of bundle's content to
  a directory on disk.
  </p>
  
  <p>
  Note: bundle's content will be extracted to a sub-directory
  <code>toDirRoot/bundle_symbolic_name/bundle_version/</code>
  </p>
  
  @param bundleRootPath
  bundle's content under this path will be extracted
  @param toDirRoot
  bundle's content will be extracted to this directory
  @throws IOException