 
     page.size += size
     @size += size
-
-  # We have to cache the calcuated size of the record because we return the
-  # records to the client. We're not strict about ownership. The client may
-  # decide to alter the object we returned. We need to cache the JSON size and
-  # the key value when we load the object.
-  cacheRecord: (page, position, record) ->
-    key = @extractor record
-
-    size = 0
-    size += JSON.stringify(record).length
-    size += JSON.stringify(key).length
-
-    entry = page.cache[position] = { record, key, size }
-
-    page.size += size
-    @size += size
-
-    entry
 
   # When we purge the record, we add the position length. We will only ever
   # delete a record that has been cached, so we do not have to create a function

    for operation in @operations
      @[operation.method](operation, _)

    # Decrement the reference counts.
    for address, page of @referenced
      page.balancers--


    extend page, override or {}

  # #### Leaf Page JSON Size
  #
  # JSON size is used as a fuzzy measure of the in&#x2011;memory size of a leaf page.

  # #### Cached JSON Page Size

  # We have to cache the calcuated size of the record because we return the
  # records to the client.  We need to cache the JSON size and the key value
  # when we load the object so we can deduct the proper amount from the page
  # size and total size when we delete a record. We can't recalculate because
  # we're not strict about ownership. The application programmer may decide to
  # alter the object we returned.
  cacheRecord: (page, position, record) ->
    key = @extractor record

    size = 0
    size += JSON.stringify(record).length
    size += JSON.stringify(key).length

    entry = page.cache[position] = { record, key, size }

    page.size += size
    @size += size

    entry

  # We do not include the position size in the cached size because it is simple
  # to calculate and the client cannot alter it.
