| 
						 | 
						- 'use strict'
 - 
 - function reusify (Constructor) {
 -   var head = new Constructor()
 -   var tail = head
 - 
 -   function get () {
 -     var current = head
 - 
 -     if (current.next) {
 -       head = current.next
 -     } else {
 -       head = new Constructor()
 -       tail = head
 -     }
 - 
 -     current.next = null
 - 
 -     return current
 -   }
 - 
 -   function release (obj) {
 -     tail.next = obj
 -     tail = obj
 -   }
 - 
 -   return {
 -     get: get,
 -     release: release
 -   }
 - }
 - 
 - module.exports = reusify
 
 
  |