code: public Record
  nextRecord() throws IOException {
  	if (current > end)
  		return null;
  	String namestr = substitute(namePattern, current);
  	Name name = Name.fromString(namestr, origin);
  	String rdata = substitute(rdataPattern, current);
  	current += step;
  	return Record.fromString(name, type, dclass, ttl, rdata, origin);
  }
docs: Constructs and returns the next record in the expansion.
  @throws IOException The name or rdata was invalid after substitutions were
  performed.