public int read(byte[] b) throws IOException {
		int bytesRead = -1;
		if(filenames.isEmpty())
			return bytesRead;
		try {
			bytesRead = super.read(b);
		}
		catch(IOException e) {
			// skip to next
		}
		if(bytesRead == -1) {
			switchInputStream();
			return read(b);
		}
		return bytesRead;
	}