* @throws IOException
*/
public final static <SOURCE> Pair<VCFHeader, VCIterable<SOURCE>> readAllVCs( final File file, final FeatureCodec<VariantContext, SOURCE> codec) throws IOException {
// read in the features
SOURCE source = codec.makeSourceFromStream(new FileInputStream(file));
FeatureCodecHeader header = codec.readHeader(source);
final VCFHeader vcfHeader = (VCFHeader)header.getHeaderValue();
return new Pair<>(vcfHeader, new VCIterable<>(source, codec, vcfHeader));
}