/**
  * Tests which editors are capable of supporting the request.
  *
  * @since 3.5.0
  * @access private
  *
  * @return string|bool Class name for the first editor that claims to support the request. False if no editor claims to support the request.
  */
 private static final function choose_implementation()
 {
     if (null === self::$implementation) {
         $request_order = apply_filters('wp_editors', array('imagick', 'gd'));
         // Loop over each editor on each request looking for one which will serve this request's needs
         foreach ($request_order as $editor) {
             $class = 'WP_Image_Editor_' . $editor;
             // Check to see if this editor is a possibility, calls the editor statically
             if (!call_user_func(array($class, 'test'))) {
                 continue;
             }
             self::$implementation = $class;
             break;
         }
     }
     return self::$implementation;
 }