     @listeners = []
 
   ###*
+    @protected
+    @return {boolean}
+  ###
+  canHide: ->
+    @pageCount < 2 and not @forceDisplay
+
+  ###*
     @param {boolean} visible
-  ###
-  show: (visible) ->
+    @param {boolean=} force default is false
+  ###
+  show: (visible, force = false) ->
+    return if not force and @canHide()
+    @showInternal visible
+
+  ###*
+    @protected
+    @param {boolean} visible
+  ###
+  showInternal: (visible) ->
     visibility = if visible then 'visible' else 'hidden'
-    goog.style.setStyle el, 'visibility', visibility for el in [@getElement()].concat @clones
+    goog.style.setStyle(el, 'visibility', visibility) for el in [@getElement()].concat @clones

  ###
  @DATA:
    BASE: 'base'

  ###*
    @enum {string}

    @switcher = null
    @bases = null
    @defBases = [10, 25, 50, 100, 500, 1000]
    @forceDisplay = false

  ###*
    @return {number}
