static VirtualDir getInput(Object input) throws IOException { File inputFile = getFileInput(input); if (inputFile == null) { throw new IOException("Unknown input type."); } if (inputFile.isFile() && !isCompressedFile(inputFile)) { final File absoluteFile = inputFile.getAbsoluteFile(); inputFile = absoluteFile.getParentFile(); if (inputFile == null) { throw new IOException( "Unable to retrieve parent to file: " + absoluteFile.getAbsolutePath()); } } VirtualDir virtualDir = VirtualDir.create(inputFile); if (virtualDir == null) { virtualDir = new VirtualDirTgz(inputFile); } return virtualDir; }