@Override
    protected void createContext(AppSettings settings)  {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException ex) {
            LOGGER.log(Level.SEVERE, "LWJGL3-AWT: Interrupted!", ex);
        }
        
        super.createContext(settings);
        RENDER_CONFIGS.computeIfAbsent(settings.getRenderer(), (t) -> {
            return (data) -> {
                data.majorVersion = 2;
                data.minorVersion = 0;
            };
        }).accept(glData);
        
        if (settings.getBitsPerPixel() == 24) {
            glData.redSize = 8;
            glData.greenSize = 8;
            glData.blueSize = 8;            
        } else if (settings.getBitsPerPixel() == 16) {
            glData.redSize = 5;
            glData.greenSize = 6;
            glData.blueSize = 5;            
        }
        
        // Enable vsync for LWJGL3-AWT
        if (settings.isVSync()) {
            glData.swapInterval = 1;
        } else {
            glData.swapInterval = 0;
        }
        
        // This will activate the "effective data" scrubber.
        showGLDataEffective.set(settings.getBoolean("GLDataEffectiveDebug"));
        
        glData.alphaSize = settings.getAlphaBits();
        glData.sRGB = settings.isGammaCorrection(); // Not compatible with very old devices
        
        glData.depthSize = settings.getDepthBits();
        glData.stencilSize = settings.getStencilBits();
        glData.samples = settings.getSamples();
        glData.stereo = settings.useStereo3D();  
       
        glData.debug = settings.isGraphicsDebug();
        glData.api = GLData.API.GL;
    }
(non-Javadoc)
@see com.jme3.system.lwjgl.LwjglWindow#createContext(com.jme3.system.AppSettings) 
@param settings A {@link com.jme3.system.AppSettings} object
jme3-lwjgl3/src/main/java/com/jme3/system/lwjgl/LwjglCanvas.java