protected void checkRequiredBundles() {
    IProject project = getDomainClass().getFragmentRoot().getJavaProject().getProject();
    BundleContext context = FrameworkUtil.getBundle(NewAddonClassWizard.class).getBundleContext();
    ServiceReference<IBundleProjectService> ref =
        context.getServiceReference(IBundleProjectService.class);
    IBundleProjectService service = context.getService(ref);
    try {
      IBundleProjectDescription description = service.getDescription(project);
      Set<String> requiredBundles = getRequiredBundles();
      IRequiredBundleDescription[] arTmp = description.getRequiredBundles();
      List<IRequiredBundleDescription> descs = new ArrayList<IRequiredBundleDescription>();
      if (arTmp != null) {
        descs.addAll(Arrays.asList(arTmp));
      }
      for (IRequiredBundleDescription bd : descs) {
        requiredBundles.remove(bd.getName());
      }

      if (requiredBundles.size() > 0) {
        for (String b : requiredBundles) {
          descs.add(service.newRequiredBundle(b, null, false, false));
        }
        description.setRequiredBundles(descs.toArray(new IRequiredBundleDescription[0]));
        description.apply(new NullProgressMonitor());
      }
    } catch (CoreException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }