// Convert nil to [NSNull null] so that it can be used as a key for NSMapTable.
if (!target)
target = [NSNullnull];
if (!_controlEventDispatchTable) {
_controlEventDispatchTable = [[NSMutableDictionaryalloc] initWithCapacity:kASControlNodeEventDispatchTableInitialCapacity]; // enough to handle common types without re-hashing the dictionary when adding entries.
// only show tap-able areas for views with 1 or more addTarget:action: pairs
if ([ASControlNode enableHitTestDebug] && _debugHighlightOverlay == nil) {
ASPerformBlockOnMainThread(^{
// add a highlight overlay node with area of ASControlNode + UIEdgeInsets
targetActions = [[NSMutableSetalloc] initWithCapacity:kASControlNodeActionDispatchTableInitialCapacity]; // enough to handle common types without re-hashing the dictionary when adding entries.