code: public static Context get(GLImplementation glImplementation) {
          if (!implementations.containsKey(glImplementation)) {
              if (!load(glImplementation)) {
                  return null;
              }
          }
          try {
              return implementations.get(glImplementation).newInstance();
          } catch (IllegalAccessException | IllegalArgumentException | InstantiationException | InvocationTargetException ex) {
              CausticUtil.getCausticLogger().log(Level.WARNING, "Couldn't create Context from loaded implementation class", ex);
              return null;
          }
      }
docs: Returns a {@link com.flowpowered.caustic.api.gl.Context} for the {@link GLImplementation}, loading it if necessary.
  
  @param glImplementation The GL implementation to look up a factory for
  @return The implementation, as a {@link com.flowpowered.caustic.api.gl.Context} or null if it couldn't be loaded