private static function urlencode_rfc3986($value)
        {
            if (Arrays::is($value)) {
                return array_map(array(__CLASS__, 'urlencode_rfc3986'), $value);
            } else {
                return str_replace('%7E', '~', rawurlencode($value));
            }
        }