Bug 454911 - WrappedResource.getCapabilities ignores the namespace param

diff --git a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java
index 61fa97b..6b946df 100644
--- a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java
+++ b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/Candidates.java
@@ -1060,6 +1060,8 @@
                     if (actual == null)
                     {
                         actual = new ArrayList<Requirement>();
+                        if (resVersion == null)
+                            resVersion = new Version(0, 0, 0);
                         fragmentVersions.put(resVersion, actual);
                     }
                     actual.add(req);
diff --git a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java
index 6ada758..230912a 100644
--- a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java
+++ b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/ResolverImpl.java
@@ -1520,7 +1520,7 @@
             for (Candidates existingPerm : permutations)
             {
                 List<Capability> existingPermCands = existingPerm.getCandidates(req);
-                if (!existingPermCands.get(0).equals(candidates.get(0)))
+                if (existingPermCands != null && !existingPermCands.get(0).equals(candidates.get(0)))
                 {
                     permutated = true;
                 }
diff --git a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java
index 693e8bb..e37d234 100644
--- a/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java
+++ b/bundles/org.eclipse.osgi/container/src/org/apache/felix/resolver/WrappedResource.java
@@ -58,7 +58,7 @@
             List<Capability> caps = new ArrayList<Capability>();
 
             // Wrap host capabilities.
-            for (Capability cap : m_host.getCapabilities(null))
+            for (Capability cap : m_host.getCapabilities(namespace))
             {
                 caps.add(new WrappedCapability(this, cap));
             }
@@ -68,7 +68,7 @@
             {
                 for (Resource fragment : m_fragments)
                 {
-                    for (Capability cap : fragment.getCapabilities(null))
+                    for (Capability cap : fragment.getCapabilities(namespace))
                     {
                         // Filter out identity capabilities, since they
                         // are not part of the fragment payload.