/** * Returns a wrapping VirtualDirEx object over the input product. * * @param input The reader input as received from the caller. * @return An instance of VirtualDirEx * @throws IOException */ protected VirtualDirEx getInput(Object input) throws IOException { File inputFile = getFileInput(input); if (inputFile.isFile() && !VirtualDirEx.isPackedFile(inputFile)) { final File absoluteFile = inputFile.getAbsoluteFile(); inputFile = absoluteFile.getParentFile(); if (inputFile == null) { throw new IOException(String.format("Unable to retrieve parent to file %s.", absoluteFile.getAbsolutePath())); } } return VirtualDirEx.create(inputFile); }