// Returns the object wrapped in the XmlRpc response
    public object Deserialize( Stream stream )
    {
      StreamReader reader = new StreamReader( stream );
      XmlTextReader tr = new XmlTextReader( stream );
      XmlRpcResponse response = new XmlRpcResponse();
      response.Read( tr );

      return response;
    }
    public void Write( XmlRpcResponse response )
    {
      if(response == null)
      {
        throw new ArgumentNullException("response", "Argument cannot be null");
      }

      WriteStartDocument();
      WriteMethodResponse();
      WriteParams();
      foreach( object o in response ) {
	WriteParam( o );
      }
      WriteEndDocument();
    }