public Map<String, Variant> readVCF(Path vcfPath, Integer lim, Region region) throws IOException {
if (lim == null) {
lim = Integer.MAX_VALUE;
}
if (region == null) {
region = new Region();
}
VariantReader variantVcfReader = new VariantVcfHtsjdkReader(vcfPath, getMetadata(vcfPath), VARIANT_NORMALIZER);
variantVcfReader.open();
variantVcfReader.pre();
Map<String, Variant> variantMap;
variantMap = readVCF(vcfPath, lim, region, variantVcfReader);
variantVcfReader.post();
variantVcfReader.close();
return variantMap;
}