docs: 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;
    }