private void updateCheckState() { List result = new ArrayList(); // Checked error statuses if (fMissing != null) { result.addAll(fMissing); } if (fFeaureModeButton.getSelection()) { // Checked features and plugins result.addAll(((TargetDefinition) fTargetDefinition).getFeaturesAndBundles()); } else { // Bundles with errors are already included from fMissing, do not add twice IResolvedBundle[] bundles = fTargetDefinition.getBundles(); for (int i = 0; i < bundles.length; i++) { if (bundles[i].getStatus().isOK()) { result.add(bundles[i]); } } } fTree.setCheckedElements(result.toArray()); }