     # triangle a new site is in.
     constructor: (args...) ->
       @triangulation__ = args[0] || triangulation(outer.vertices())
-      @position__      = args[1] || []
-      @sites__         = args[2] || new HashSet()
-      @children__      = args[3] || new HashMap()
+      @position__      = args[1] || new IntMap()
+      @nextIndex__     = args[2] || 0
+      @sites__         = args[3] || new HashSet()
+      @children__      = args[4] || new HashMap()
 
     # The method `toSeq` returns the proper (non-virtual) triangles contained
     # in this triangulation as a lazy sequence. It does so by removing any


    # The method `position` returns the coordinates corresponding to a given
    # vertex number as a `Point2d` instance.
    position: (n) -> @position__[n]

    # The method `sideOf` determines which side of the oriented line given by
    # the sites with indices `a` and `b` the point `p` (a `Point2d` instance)

# package system).
if typeof(require) != 'undefined'
  require.paths.unshift '#{__dirname}/../lib'
  { recur, resolve }           = require 'functional'
  { Sequence }                 = require 'sequence'
  { IntMap, HashSet, HashMap } = require 'indexed'
else
  { recur, resolve, Sequence, IntMap, HashSet, HashMap } = this.pazy

# ----

