code: @VisibleForTesting
    protected void initializeHttpRpcPlugins(final OperationMode mode,
          final String[] pluginClassNames,
          final ImmutableMap.Builder<String, HttpRpcPlugin> http) {
      for (final String plugin : pluginClassNames) {
        final HttpRpcPlugin rpc = createAndInitialize(plugin, HttpRpcPlugin.class);
        validateHttpRpcPluginPath(rpc.getPath());
        final String path = rpc.getPath().trim();
        final String canonicalized_path = canonicalizePluginPath(path);
        http.put(canonicalized_path, rpc);
        LOG.info("Mounted HttpRpcPlugin [{}] at path \"{}\"", rpc.getClass().getName(), canonicalized_path);
      }
    }
docs: Load and init the {@link HttpRpcPlugin}s provided as an array of
  {@code pluginClassNames}.
  @param mode is this TSD in read/write ("rw") or read-only ("ro")
  mode?
  @param pluginClassNames fully-qualified class names that are
  instances of {@link HttpRpcPlugin}s
  @param http a map of canonicalized paths
  (obtained via {@link #canonicalizePluginPath(String)})
  to {@link HttpRpcPlugin} instance.