code: static private List<File> listToolExtensionDirectories(String extension) {
          List<File> dirs = new ArrayList<File>();
          dirs.add(new File(Utils.getInstallDir(), EXTENSION_DIR + extension)); // wlp/bin/tools/extensions
          dirs.add(new File(Utils.getInstallDir(), USER_EXTENSION_DIR + extension)); // wlp/usr/extension/bin/tools/extensions
          List<File> extDirs = listProductExtensionDirectories();
          // add extension directory path and extension name.
          for (File extDir : extDirs) {
              dirs.add(new File(extDir, EXTENSION_DIR + extension));
          }
          return dirs;
      }
docs: Compose a list which contains all of directories which need to look into.
  The directory may or may not exist.
  the list of directories which this method returns is:
  1, wlp/bin/tools/extensions,
  2. wlp/usr/extension/bin/tools/extensions,
  3. all locations returned from ProductExtension.getProductExtensions() with /bin/tools/extensions