cdm/src/main/java/ucar/nc2/util/cache/FileCache.java
public static synchronized void shutdown() {
    if (timer != null) {
      timer.cancel();
      System.out.printf("FileCache.shutdown called%n");
    }
    timer = null;
  }
public static synchronized void shutdown() {
    if (timer != null) {
      timer.cancel();
      System.out.printf("FileCache.shutdown called%n");
    }
    timer = null;
  }
You must call shutdown() to shut down the background threads in order to get a clean process shutdown.