code: public Parameters copyNamespace(final String requestedNamespace) {
      checkArgument(!requestedNamespace.isEmpty());
      checkArgument(!requestedNamespace.endsWith(DELIM));
      final ImmutableMap.Builder<String, String> ret = ImmutableMap.builder();
      final String dottedNamespace = requestedNamespace + DELIM;
      for (final Map.Entry<String, String> param : params.entrySet()) {
        if (param.getKey().startsWith(dottedNamespace)) {
          ret.put(param.getKey().substring(dottedNamespace.length()), param.getValue());
        }
      }
      final List<String> newNamespace = Lists.newArrayList();
      newNamespace.addAll(namespace);
      newNamespace.add(requestedNamespace);
      final Parameters paramsRet = new Parameters(ret.build(), newNamespace);
      // our children inherit our listeners
      for (final Listener listener : listeners) {
        paramsRet.registerListener(listener);
      }
      return paramsRet;
    }
docs: Creates a new set of parameters with only those parameters in the specified namespace (that is,
  prefixed by "namespace.". The namespace prefix and period will be removed from parameter names
  in the new {@code Parameters}.  The name space name should *not* have a
  trailing ".".