@Override
	protected VcfEntry readNext() {
		// Read another line from the file
		try {
			headeSection = false;
			while (ready()) {
				line = readLine();
				if (line == null) return null; // End of file?

				VcfEntry vcfEntry = parseVcfLine(line);
				if (vcfEntry != null) return vcfEntry;
				else headeSection |= true;
			}
		} catch (IOException e) {
			throw new RuntimeException("Error reading file '" + fileName + "'. Line ignored:\n\tLine (" + lineNum + "):\t'" + line + "'");
		}
		return null;
	}