cdm/src/main/java/ucar/nc2/NetcdfFile.java
static public void registerIOProvider(Class iospClass, boolean last)
          throws IllegalAccessException, InstantiationException {
    IOServiceProvider spi;
    spi = (IOServiceProvider) iospClass.newInstance(); // fail fast
    if (userLoads && !last)
      registeredProviders.add(0, spi);  // put user stuff first
    else registeredProviders.add(spi);
  }
static public void registerIOProvider(Class iospClass, boolean last)
          throws IllegalAccessException, InstantiationException {
    IOServiceProvider spi;
    spi = (IOServiceProvider) iospClass.newInstance(); // fail fast
    if (userLoads && !last)
      registeredProviders.add(0, spi);  // put user stuff first
    else registeredProviders.add(spi);
  }
Register an IOServiceProvider. A new instance will be created when one of its files is opened.

@param iospClass Class that implements IOServiceProvider.
@param last      true=>insert at the end of the list; otherwise front
@throws IllegalAccessException if class is not accessible.
@throws InstantiationException if class doesnt have a no-arg constructor.
@throws ClassCastException     if class doesnt implement IOServiceProvider interface.