void
 ListHookedConsumer::apply(const Params_KeyboardSpecialEventCallback& params)
 {
   ListHookedConsumer::Item* p = static_cast<ListHookedConsumer::Item*>(get_replaced());
   if (p) {
     p->apply(params);
   }
 }
  void
  ListHookedConsumer::apply(const Params_KeyboardSpecialEventCallback& params)
  {
    IOLockWrapper::ScopedLock lk(list_lock_);
    if (! lk) return;

    ListHookedConsumer::Item* p = static_cast<ListHookedConsumer::Item*>(get_replaced_nolock());
    if (p) {
      p->apply(params);
    }
  }