     }
 
 
-  @getter "cacheByteSize unusedCacheByteSize",
+  @getter "cacheByteSize unusedCacheByteSize maxCacheByteSize bitmapsCreated",
     currentFrameNumber: -> @_currentFrameNumber
     recycleableSortedCacheBitmaps: ->
       recyclable = []
       currentFrameNumber = @_currentFrameNumber
-      @_cachedBitmaps.forEach (v, k) ->
+      @_cacheBitmaps.forEach (v, k) ->
         recyclable.push v if v.lastFrameUsed < currentFrameNumber - 1
 
       recyclable.sort (a, b) -> a.lastFrameUsed - b.lastFrameUsed

  # called by Element#_clearDrawCache
  doneWithCacheBitmap: (element) ->
    # @_validateCacheByteSize "doneWithCacheBitmap start"
    if cachedBitmap = mapRemove @_cachedBitmaps, element
      cachedBitmap.elementDoneWithCacheBitmap()
      byteSize = cachedBitmap.getByteSize()
      # console.error "doneWithCacheBitmap recycling for #{cachedBitmap.element?.inspectedName} bitmap = #{cachedBitmap.bitmap.size}"

  # or undefined
  _findRecycleableCacheBitmap: (size) ->
    currentFrameNumber = @_currentFrameNumber
    valuesIterator = @_cacheBitmaps.values()
    while !(vi = @_cacheBitmaps.next()).done
      cachedBitmap = vi.value
      compareSize = cachedBitmap.size
      if cachedBitmap.lastFrameUsed < currentFrameNumber - 1 && canUseBitmap cachedBitmap, size
