private String applyGroupIdMapping(final String symbolicName) {
    for (Entry<String, String> entry : groupIdMappings.entrySet()) {
      final PathMatcher matcher = PathMatcher.parsePackagePatterns(entry.getKey());
      if (matcher.isMatch(symbolicName)) {
        PropertiesMap props = new LinkedPropertiesMap(1);
        props.put("bundle.groupId", deriveGroupId(symbolicName));
        props.put("bundle.symbolicName", symbolicName);

        return interpolate(props, entry.getValue());
      }
    }
    return null;
  }
  @Test
  public void test() {
    PropertiesMap options = new LinkedPropertiesMap();

    resolveAndAssert("1.1.1.foo", "1.1.1.foo", options);
    resolveAndAssert("1.1.1", "1.1.1", options);

    options.put("osgifier.forceContextQualifier", "murks");

    resolveAndAssert("1.1.1.foo", "1.1.1.murks", options);
    resolveAndAssert("1.1.1", "1.1.1.murks", options);
  }