     allSuggestions = get(@, 'allSuggestions').slice()
     _suggestions = allSuggestions.slice(0, items)
 
-    return _suggestions if _suggestions.length > 0 or !get(@,'showEmptyListing') or displayValue is ''
+    return _suggestions unless (suggestCurrentValue = get(@,'suggestCurrentValue'))
 
     contentPath = get @, 'contentPath'
     inputObject = displayValue

  displayValueBinding: 'inputView.value'

  ###
    When no suggestions, a listing with the current display value will appear
    if this is `true`.

    TODO: adjust this behavior to do something more useful like display
    a message/error.

    @property showEmptyListing
    @type Boolean
    @default false
  ###
  showEmptyListing: false

  ###
    When `true`, the selected autocomplete suggestion is set as the value when

        part = parts.shift()
        inputObject[part] = if parts.length > 0 then {} else displayValue

    method = if +suggestCurrentValue < 0 then "pushObject" else "unshiftObject"

    _suggestions[method](inputObject)

    _suggestions
  .property('allSuggestions', 'items', 'sorter').readOnly()
