     constructor: (models,options)->
         @query = options.query
         super
+
     model: Field
-
 
 
 class Operator extends Lanes.Models.Base

    session:
        fields:  'collection'
        clauses: 'collection'
        collection_class: 'function'
        initial_field: 'string'

    derived:
        model_class:
            deps:['collection_class'], fn: -> @collection_class::model
        url:
            deps:['collection_class'], fn: -> @collection_class::url()

    constructor: (options={})->
        super
        @fields = new AvailableFields(
            _.map( options.fields, (col)-> if _.isObject(col) then col else { field: col } ),
            query: this
        )
        @clauses = new Clauses([], query: this )
        this.listenTo(@clauses,'change remove reset', ->
            this.trigger('change', arguments...)
        )
        @initial_field = @fields.first.field
        this.addNewClause()
        this



    session:
        value     : { type: 'string', default: '' }
        field     : 'state'
        operator  : 'state'

    associations:
        operators : { collection: Operators }
        fields:
            collection: AvailableFields, options: ->
                query: this.collection.query


    derived:
        description:
