@Nonnull
 @Override
 public GraphicResolution[] getFullScreenResolutions() {
   if (graphicResolutions == null) {
     List<GraphicResolution> resultResolutions = new ArrayList<>();
     Graphics.DisplayMode[] displayModes;
     boolean ignoreRefreshRate;
     if (gdxApplication == null) {
       displayModes = LwjglApplicationConfiguration.getDisplayModes();
       ignoreRefreshRate = true;
     } else {
       displayModes = gdxApplication.getGraphics().getDisplayModes();
       ignoreRefreshRate = false;
     }
     for (@Nullable Graphics.DisplayMode mode : displayModes) {
       if (mode == null) {
         continue;
       }
       if ((mode.width < 800) || (mode.height < 600) || (mode.bitsPerPixel < 24)) {
         continue;
       }
       if (ignoreRefreshRate) {
         resultResolutions.add(
             new GraphicResolution(mode.width, mode.height, mode.bitsPerPixel, -1));
       } else {
         if (mode.refreshRate >= 50) {
           resultResolutions.add(
               new GraphicResolution(
                   mode.width, mode.height, mode.bitsPerPixel, mode.refreshRate));
         }
       }
     }
     graphicResolutions =
         resultResolutions.toArray(new GraphicResolution[resultResolutions.size()]);
   }
   return graphicResolutions;
 }