code: function(comparator, nullsFirst, ignorePrimitive)
    {
      var cmp = comparator ? createComparator( comparator, nullsFirst ) : this.comparator;
  
      if ( !isSorted( cmp, this ) || ( !ignorePrimitive && !cmp && isPrimitiveArray( this ) ) )
      {
        AP.sort.call( this, cmp );
  
        this.trigger( Collection.Events.Sort, [this] );
      }
  
      return this;
    }
docs: Sorts the elements in this collection based on the current comparator
  unless a comparator is given. If a comparator is given it will not override
  the current comparator, subsequent operations to the collection may trigger
  a sort if the collection has a comparator.
  
  @method
  @memberof Rekord.Collection#
  @param {ComparatorInput} [comparator] -
  The comparator input to convert to a comparison function.
  @param {Boolean} [nullsFirst=false] -
  When a comparison is done involving a null/undefined value this can
  determine which is ordered before the other.
  @param {Boolean} [ignorePrimitive=false] -
  Sorting is automatically done for non-primitive collections if a
  comparator exists. This flag ensures primitive collections aren't sorted
  after every operation.
  @return {Rekord.Collection} -
  The reference to this collection.
  @emits Rekord.Collection#sort
  @see Rekord.createComparator