private java.nio.ByteBuffer readElevations(Object source) throws java.io.IOException { if (!(source instanceof java.io.File) && !(source instanceof java.net.URL)) { String message = Logging.getMessage("DataRaster.CannotRead", source); Logging.logger().severe(message); throw new java.io.IOException(message); } if (source instanceof java.io.File) { java.io.File file = (java.io.File) source; // handle .bil.zip, .bil16.zip, and .bil32.gz files if (file.getName().toLowerCase().endsWith(".zip")) { return WWIO.readZipEntryToBuffer(file, null); } // handle bil.gz, bil16.gz, and bil32.gz files else if (file.getName().toLowerCase().endsWith(".gz")) { return WWIO.readGZipFileToBuffer(file); } else if (!this.isMapLargeFiles() || (this.getLargeFileThreshold() > file.length())) { return WWIO.readFileToBuffer(file); } else { return WWIO.mapFile(file); } } else // (source instanceof java.net.URL) { java.net.URL url = (java.net.URL) source; return WWIO.readURLContentToBuffer(url); } }