   inputThrottle: 50
   cancelling: false
 
-  # Public:
+  # Public: Initialize the select list view.
+  #
+  # This method can be overridden by subclasses but `super` should always
+  # be called.
   initialize: ->
     @miniEditor.getBuffer().on 'changed', => @schedulePopulateList()
     @miniEditor.hiddenInput.on 'focusout', => @cancel() unless @cancelling

      @loading.text(message)
      @loadingArea.show()

  # Public:
  getFilterQuery: ->
    @miniEditor.getText()

  # Public:
  populateList: ->
    return unless @array?


    else if desiredBottom > @list.scrollBottom()
      @list.scrollBottom(desiredBottom)

  # Public: Get the selected DOM element.
  #
  # Call {.getSelectedElement} to get the selected model element.
  getSelectedItem: ->
    @list.find('li.selected')

  # Public: Get the selected model element.
  #
  # Call {.getSelectedItem} to get the selected DOM element.
  getSelectedElement: ->
    @getSelectedItem().data('select-list-element')

  # Private:
  confirmSelection: ->
    element = @getSelectedElement()
    if element?
