docs: public static void main(String[] args) {  
      try {
        SamReaderFactory factory =  SamReaderFactory.makeDefault();
        
        // If it was a file, we would open like so:
        // factory.open(new File("~/testdata/htsjdk/samtools/uncompressed.sam"));
        // For API access we use SamInputResource constructed from a URL:
        SamReader reader = factory.open(SamInputResource.of(new URL(GA4GH_URL)));
        
        Stopwatch timer = Stopwatch.createStarted();
        int processedReads = 0;
        for (@SuppressWarnings("unused") final SAMRecord samRecord : reader) {
          processedReads++;
        }
        final long elapsed = timer.elapsed(TimeUnit.MILLISECONDS);
        if (processedReads > 0 && elapsed > 0) {
          System.out.println("Processed " + processedReads + " reads in " + timer + 
              ". Speed: " + (processedReads*1000)/elapsed + " reads/sec");
        } else {
          System.out.println("Nothing processed or not enough reads for timing stats.");
        }
        reader.close();
      } catch (MalformedURLException e) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }