  *  numeric="null"
  *  /&gt;
  *  </pre>
- *  
+ *
+ *  @see mx.collections.ICollectionView
+ *  @see mx.collections.Sort
+ *  @see spark.collections.Sort
+ *  @see spark.collections.SortField
+
  *  @langversion 3.0
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
  */
-public class SortField extends EventDispatcher
+public class SortField extends EventDispatcher implements ISortField
 {
     include "../core/Version.as";
 

            }
            catch(error:Error)
            {
			}
        }

		// return 0 (ie equal) if both are null		
		if (left == null && right == null)
			return 0;

        if (left == null && !_name)
            left = a;

        }
    }

    //---------------------------------
    //  usingCustomCompareFunction
    //---------------------------------

    private var _usingCustomCompareFunction:Boolean;

    /**
     *  @inheritDoc
     *
     *  @langversion 3.0
     *  @playerversion Flash 9
     *  @playerversion AIR 1.1
     *  @productversion Flex 3
     */
    public function get usingCustomCompareFunction():Boolean
    {
        return _usingCustomCompareFunction;
    }

    //--------------------------------------------------------------------------
    //
    //  Overridden Methods
    //
    //--------------------------------------------------------------------------

    /**
     *  @private
     *  A pretty printer for Sort that lists the sort fields and their
     *  options.
     */
    override public function toString():String
    {
        return ObjectUtil.toString(this);
    }

    //--------------------------------------------------------------------------
    //
    //  Methods
    //
    //--------------------------------------------------------------------------

    /**
     *  @inheritDoc
     */
    public function initializeDefaultCompareFunction(obj:Object):void
    {
        // if the compare function is not already set then we can set it
        if (!usingCustomCompareFunction)
