@SuppressWarnings("unchecked")
    private static void checkDelegate() {
        if (systemDelegate == null) {
            try {
                systemDelegate = tryLoadDelegate("com.jme3.system.JmeDesktopSystem");
                if (systemDelegate == null) {
                    systemDelegate = tryLoadDelegate("com.jme3.system.android.JmeAndroidSystem");
                    if (systemDelegate == null) {
                        systemDelegate = tryLoadDelegate("com.jme3.system.ios.JmeIosSystem");
                        if (systemDelegate == null) {
                            // None of the system delegates were found.
                            Logger.getLogger(JmeSystem.class.getName()).log(Level.SEVERE,
                                    "Failed to find a JmeSystem delegate!\n"
                                    + "Ensure either desktop or android jME3 jar is in the classpath.");
                        }
                    }
                }
            } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | IllegalArgumentException | InvocationTargetException ex) {
                Logger.getLogger(JmeSystem.class.getName()).log(Level.SEVERE, "Failed to create JmeSystem delegate:\n{0}", ex);
            }
        }
    }
Displays an error message to the user in whichever way the context
feels is appropriate. If this is a headless or an offscreen surface
context, this method should do nothing.

@deprecated Use JmeSystem.handleErrorMessage(String) instead
@param message The error message to display. May contain new line
characters.
jme3-core/src/main/java/com/jme3/system/JmeSystem.java