             var pNode:PriorityNode = new PriorityNode(priority, item);
             _queue.push(pNode);
             _isDirty = true;
+
+            if (verbose) {
+                trace("[PriorityQueue :: enqueue] priority:", priority);
+                dumpPriority();
+            }
         }
 
         /**

         * If queue is empty, return null.
         */
        public function dequeue():* {
            if (!_queue.length) { return null; }

            if (_isDirty) { _sort(); }
            return _queue.pop().item;
        }

        /**

            return (a.priority > b.priority) ? -1 : 1;
        }

        //------------------------------------------------------------
        // debug
        //------------------------------------------------------------

        public function dumpPriority():void {
            var priorities:Array = [];
            for each (var item:PriorityNode in _queue) {
                priorities.push(item.priority);
            }
            trace(" -", priorities);
        }

    }
}

