private Pointer findDefaultMode(final Pointer runLoop) {
   final Pointer modes = cf.CFRunLoopCopyAllModes(runLoop);
   if (modes != Pointer.NULL) {
     final int modesCount = cf.CFArrayGetCount(modes).intValue();
     for (int i = 0; i < modesCount; i++) {
       final Pointer mode = cf.CFArrayGetValueAtIndex(modes, new NativeLong(i));
       if (mode != Pointer.NULL
           && DEFAULT_RUN_LOOP_MODE.equals(cf.CFStringGetCStringPtr(mode, ENC_MAC_ROMAN))) {
         return mode;
       }
     }
   }
   return null;
 }