protected boolean initialize(Object element) {
   try {
     if (element instanceof IPackageFragment) {
       IPackageFragment fragment = (IPackageFragment) element;
       if (!fragment.containsJavaResources()) return false;
       IJavaProject javaProject = (IJavaProject) fragment.getAncestor(IJavaElement.JAVA_PROJECT);
       IProject project = javaProject.getProject();
       if (WorkspaceModelManager.isPluginProject(project)) {
         fProject = javaProject.getProject();
         fElements = new HashMap();
         fElements.put(fragment, getArguments().getNewName());
         return true;
       }
     }
   } catch (JavaModelException e) {
   }
   return false;
 }
  private void process() {
    try {
      IPreferenceStore preferenceStore = Activator.getDefault().getPreferenceStore();

      String basepackage =
          preferenceStore.getString(JsfcaPerferenceConstants.PROP_KEY_BASE_PACKAGE);
      String regEx = preferenceStore.getString(JsfcaPerferenceConstants.PROP_KEY_FILE_PATTERN);

      if (basepackage == null || basepackage.isEmpty()) {
        return;
      }

      if (regEx == null || regEx.isEmpty()) {
        return;
      }

      Pattern classPattern = Pattern.compile(regEx);

      IPackageFragment[] packageFragments = javaProject.getPackageFragments();
      for (IPackageFragment packageFragment : packageFragments) {
        if (packageFragment.getElementName().startsWith(basepackage.toLowerCase())) {
          if (packageFragment.containsJavaResources()) {
            ICompilationUnit[] compilationUnits = packageFragment.getCompilationUnits();
            for (ICompilationUnit compUnit : compilationUnits) {
              IType primaryType = compUnit.findPrimaryType();
              if (primaryType != null
                  && classPattern.matcher(primaryType.getElementName()).matches()) {
                createSymbol(primaryType);
              }
            }
          }
        }
      }

    } catch (JavaModelException e) {
      e.printStackTrace();
    }
  }