public static function create_from_base( Symfony_Request $request ) {
		if ( $request instanceof static ) {
			return $request;
		}

		// Cache the base content, apply to clone later.
		$content = $request->content;

		$request = ( new static )->duplicate(
			$request->query->all(),
			$request->request->all(),
			$request->attributes->all(),
			$request->cookies->all(),
			$request->files->all(),
			$request->server->all()
		);

		$request->content = $content;
		$request->request = $request->get_input_source();

		return $request;
	}