code: private static ModelExtractor tryLoadEngine(String engineClassName) {
          try {
              @SuppressWarnings("unchecked")
              Class<? extends ModelExtractor> engineClass = (Class<? extends ModelExtractor>) Class.forName(engineClassName, false, ModelExtractors.class.getClassLoader());
              return engineClass.newInstance();
          } catch (ClassNotFoundException e) {
              return null;
          } catch (InstantiationException e) {
              return null;
          } catch (IllegalAccessException e) {
              return null;
          } catch (NoClassDefFoundError e) {
              // a dependency of the engine may not be found on classpath
              return null;
          }
      }
docs: This method is used to search for a specific class, telling if loading the engine would succeed. This is
  typically used to avoid loading optional modules.
  
  @param engineClassName engine class, used both as a hint to find it and to create the engine itself.  @return null if the engine is not available, an instance of the engine otherwise