463951: NPE in SelectionModel.computeChildren (146)

Bug: 463951
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=463951
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java
index 1fb81f1..5938d8f 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/catalog/MarketplaceNodeCatalogItem.java
@@ -35,7 +35,7 @@
 
 	private URL marketplaceUrl;
 
-	private List<MarketplaceNodeInstallableUnitItem> installableUnitItems;
+	private List<MarketplaceNodeInstallableUnitItem> installableUnitItems = new ArrayList<MarketplaceNodeInstallableUnitItem>();
 
 	@Override
 	public void setInstallableUnits(List<String> installableUnits) {
diff --git a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java
index 41ccee1..340f745 100644
--- a/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java
+++ b/org.eclipse.epp.mpc.ui/src/org/eclipse/epp/internal/mpc/ui/wizards/SelectionModel.java
@@ -143,11 +143,13 @@
 	private void computeChildren(CatalogItemEntry itemEntry) {
 		List<FeatureEntry> children = new ArrayList<FeatureEntry>();
 		List<MarketplaceNodeInstallableUnitItem> iuItems = ((MarketplaceNodeCatalogItem) itemEntry.getItem()).getInstallableUnitItems();
-		for (MarketplaceNodeInstallableUnitItem iuItem : iuItems) {
-			FeatureEntry featureEntry = new FeatureEntry(itemEntry, iuItem);
-			featureEntry.setInstalled(computeInstalled(featureEntry));
-			featureEntry.setChecked(computeInitiallyChecked(featureEntry));
-			children.add(featureEntry);
+		if (iuItems != null) {
+			for (MarketplaceNodeInstallableUnitItem iuItem : iuItems) {
+				FeatureEntry featureEntry = new FeatureEntry(itemEntry, iuItem);
+				featureEntry.setInstalled(computeInstalled(featureEntry));
+				featureEntry.setChecked(computeInitiallyChecked(featureEntry));
+				children.add(featureEntry);
+			}
 		}
 		itemEntry.children = children;
 	}