/** Adds all of the openables defined within this package fragment to the list. */
  private void injectAllOpenablesForPackageFragment(
      IPackageFragment packFrag, ArrayList openables) {

    try {
      IPackageFragmentRoot root = (IPackageFragmentRoot) packFrag.getParent();
      int kind = root.getKind();
      if (kind != 0) {
        boolean isSourcePackageFragment = (kind == IPackageFragmentRoot.K_SOURCE);
        if (isSourcePackageFragment) {
          IJavaScriptUnit[] cus = packFrag.getJavaScriptUnits();
          for (int i = 0, length = cus.length; i < length; i++) {
            openables.add(cus[i]);
          }
        } else {
          IClassFile[] classFiles = packFrag.getClassFiles();
          for (int i = 0, length = classFiles.length; i < length; i++) {
            openables.add(classFiles[i]);
          }
        }
      }
    } catch (JavaScriptModelException e) {
      // ignore
    }
  }