     }
 
     /**
-     * This is a hook to override the request's content type for a specific serializer.
-     * It is given the parameter object and the content type configured on the operation.
-     * The default behavior is to return the supplied content type.
+     * This method is called by the HTTP service just before a call is made.  Its role
+     * is to choose the contentType used for this request.  For many serialization
+     * formats, there is a single fixed content type so you might just return that content
+     * type here.  Since the HTTPService is itself configured with a content type, that
+     * value is passed in here and returned by the default implementation.  The request
+     * body being serialized is also provided with the obj parameter just in case the 
+     * content type depends on the type of object being sent to the server.
+     *
+     * @param operation The AbstractionOperation being invoked.
+     * @param obj the body of the HTTP request being serialized
+     * @param contentType the contentType configured for the operation
+     * @return the content type to use for this HTTP request.
      */
     public function getRequestContentType(operation:AbstractOperation, obj:Object, contentType:String):String
     {

use namespace mx_internal;

/**
 * An instance of this class can manage formatting HTTP request responses and
 * converting their parameters.  HTTPMultiService and HTTPService will expose a
 * serializationFilter property, or you can define one of these statically and register it
 * for a custom resultFormat.  In that case, the resultFormat can be used to choose the
 * SerializationFilter automatically. 
 */
public class SerializationFilter
{
    // replaces/returns previous with that name or null
    static mx_internal var filterForResultFormatTable:Object = new Object();
    public static function registerFilterForResultFormat(resultFormat:String, filter:SerializationFilter):SerializationFilter
    {
        var old:SerializationFilter = filterForResultFormatTable[resultFormat];


    /**
     * This method is used if you need to take data from the request body object and encode
     * it into the URL string.  It is given the incoming URL as configured on the operation
     * or service.  This implementation just returns the incoming URL without any conversion.
     *
     * @param operation The AbstractOperation being invoked
     * @param url the URL set on the service or operation
     * @return the potentially modified URL to use for this request.
     */
    public function serializeURL(operation:AbstractOperation, obj:Object, url:String):String
    {
