     @currentFocusedPath
 
   focus: (pointer, element) ->
-    @updateFocusedPath pointer, element
+    @updateFocusedPath pointer, element || @pointerElementPath pointer
 
   updateMousePath: ->
     pointer = @mouse

    pointer = @activePointers[id] = new Pointer id, location

    if @_numActivePointers == 1
      @focus pointer, peek @pointerElementPath pointer

    @queuePointerEvents "pointerDown", pointer, timeStampInPerformanceSeconds


{
  inspect, clone, shallowClone, peek, first, min, max, eq, arrayWithoutValue, stableSort, log, isObject,
  formattedInspect
  isArray
} = require 'art-standard-lib'
{BaseClass} = require 'art-class-system'
{point, rect, matrix} = require 'art-atomic'
{EventEpoch} = require 'art-events'
{eventEpoch} = EventEpoch

Pointer = require './Pointer'
PointerEvent = require './PointerEvent'
KeyEvent = require './KeyEvent'

###
PointerEventManager

