      *  @param event The ChannelEvent.
      */
     override public function channelDisconnectHandler(event:ChannelEvent):void
-	{
-	    super.channelDisconnectHandler(event);
-    	
-	    if (_shouldBeConnected && !event.rejected)
+    {
+        super.channelDisconnectHandler(event);
+        
+        if (_shouldBeConnected && !event.rejected)
             startReconnectTimer();
-	}	
-
-	/**
-	 *  @private
-	 *  Custom processing to start up a reconnect timer if our channel faults
-	 *  when we should be connected.
-	 * 
-	 *  @param event The ChannelFaultEvent.
-	 */
-	override public function channelFaultHandler(event:ChannelFaultEvent):void
-	{
-	    super.channelFaultHandler(event);
-        
-	    if (_shouldBeConnected && !event.rejected && !event.channel.connected)
-	        startReconnectTimer();
-    }
-    
-    /**
-	 *  Disconnects the Producer from its remote destination.
-	 *  This method does not wait for outstanding network operations to complete.
-	 *  After invoking disconnect(), the Producer will report that it is not
-	 *  connected and it will not receive any outstanding message acknowledgements or faults.
-	 *  Disconnecting stops automatic reconnect attempts if they are running.
-	 */
-	override public function disconnect():void
-	{
-	    _shouldBeConnected = false; // Prevent reconnect attempts.
+    }   
+
+    /**
+     *  @private
+     *  Custom processing to start up a reconnect timer if our channel faults
+     *  when we should be connected.
+     * 
+     *  @param event The ChannelFaultEvent.
+     */
+    override public function channelFaultHandler(event:ChannelFaultEvent):void
+    {
+        super.channelFaultHandler(event);
+        
+        if (_shouldBeConnected && !event.rejected && !event.channel.connected)
+            startReconnectTimer();
+    }
+    
+    /**
+     *  Disconnects the Producer from its remote destination.
+     *  This method does not wait for outstanding network operations to complete.
+     *  After invoking the <code>disconnect()</code> method, the Producer reports that it is not
+     *  connected and it will not receive any outstanding message acknowledgements or faults.
+     *  Disconnecting stops automatic reconnect attempts if they are running.
+     */
+    override public function disconnect():void
+    {
+        _shouldBeConnected = false; // Prevent reconnect attempts.
             
         stopReconnectTimer();
-	        
+            
         super.disconnect();
-	}	
+    }   
 
     //--------------------------------------------------------------------------
     //
     // Public Methods
     // 
     //--------------------------------------------------------------------------
-	
-	/**
-	 *  Connects the Producer to its target destination.
-	 *  When a connection is established the <code>connected</code> property will
-	 *  change to <code>true</code> and this property is bindable and generates
-	 *  <code>PropertyChangeEvent</code>s.
-	 *  The underlying CLIENT_PING_OPERATION CommandMessage that is sent will result
-	 *  in an acknowledge or fault event depending upon its success.
-	 * 
-	 *  @throws mx.messaging.errors.InvalidDestinationError  If no destination is set.
-     * 
-     *  @example
+    
+    /**
+     *  Connects the Producer to its target destination.
+     *  When a connection is established the <code>connected</code> property will
+     *  change to <code>true</code> and this property is bindable and generates
+     *  <code>PropertyChangeEvent</code> events.
+     *  The underlying <code>CLIENT_PING_OPERATION</code> CommandMessage that is sent will result
+     *  in an acknowledge or fault event depending upon its success.
+     * 
+     *  <p>The following example uses this method:</p>
+     * 
      *  <pre>
      *     var producer:Producer = new Producer();
      *     producer.destination = "TestTopic";
      *     producer.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, handleConnect);
      *     producer.connect();
-	 *  </pre>
-	 */
-	public function connect():void
-	{
-	    if (!connected)
-	    {
-    	    _shouldBeConnected = true;
-    	    
-    	    if (_connectMsg == null)
-        	    _connectMsg = buildConnectMessage();   
-    	    internalSend(_connectMsg, false); 	    
-	    }	    
-	}
+     *  </pre>
+     *
+     *  @throws mx.messaging.errors.InvalidDestinationError  If no destination is set.
+     * 
+     */
+    public function connect():void
+    {
+        if (!connected)
+        {
+            _shouldBeConnected = true;
+            
+            if (_connectMsg == null)
+                _connectMsg = buildConnectMessage();   
+            internalSend(_connectMsg, false);       
+        }       
+    }
 
     //--------------------------------------------------------------------------
     //
     // Methods
     // 
     //--------------------------------------------------------------------------
-	
-	/**
-	 *  Sends the specified message to its destination.
-	 *  If the producer is being used for publish/subscribe messaging, only messages of type AsyncMessage
-	 *  should be sent unless a custom message type is being used and the 
-	 *  message destination on the server has been configured to process the
-	 *  custom message type.
+    
+    /**
+     *  Sends the specified message to its destination.
+     *  If the producer is being used for publish/subscribe messaging, only messages of type AsyncMessage
+     *  should be sent unless a custom message type is being used and the 
+     *  message destination on the server has been configured to process the
+     *  custom message type.
      *
-	 *  @param message The Message to send.
-     * 
-     *  @throws mx.messaging.errors.InvalidDestinationError  If no destination is set.
-     * 
-     *  @example
+     *  <p>The following example uses this method:</p>
+     * 
      *  <pre>
      *     var producer:Producer = new Producer();
      *     producer.destination = "TestTopic";
      *     var msg:AsyncMessage = new AsyncMessage();
      *     msg.body = "test message";
      *     producer.send(msg);
-	 *  </pre>
+     *  </pre>
      *
-	 */
-	public function send(message:IMessage):void
-	{
+     *  @param message The message to send.
+     * 
+     *  @throws mx.messaging.errors.InvalidDestinationError  If no destination is set.
+     */
+    public function send(message:IMessage):void
+    {
         if (!connected && autoConnect)
             _shouldBeConnected = true;
-	    
+        
         if (defaultHeaders != null)
         {
             for (var header:String in defaultHeaders)

    /**
     * @private
     */
	public function AbstractProducer()
	{
		super();
	}
	
    //--------------------------------------------------------------------------
    //
    // Variables
    // 
    //--------------------------------------------------------------------------
	
	/**
	 *  @private
	 *  A connect message to use for (re)connect attempts which allows the underlying
	 *  ChannelSet to de-dupe if multiple reconnects queue up at the channel layer.
	 */
	private var _connectMsg:CommandMessage;
	
    /**
     *  @private
     *  This is the current number of reconnect attempts that we've done.

     *  @param msg The original message.
     * 
     *  @param routeToStore currently not used.  Previously was a flag used to
     *  indicate if the faulted message should be stored offline to retry.
     * 
     *  @param ignoreDisconnectBarrier If true the message is faulted regardless 
     *  of whether disconnect() has been invoked. Generally a disconnect() will 
     *  suppress pending acks and faults.
     */
    mx_internal function internalFault(errMsg:ErrorMessage, msg:IMessage, 
                                       routeToStore:Boolean = true, 
                                       ignoreDisconnectBarrier:Boolean = false):void
    {
        // Ignore faults for any outstanding messages that return after disconnect() is invoked.
        if (_disconnectBarrier && !ignoreDisconnectBarrier)
            return;
        
        if (msg is CommandMessage && CommandMessage(msg).operation == CommandMessage.CLIENT_PING_OPERATION)
        {
