public Name
getName(Name origin) throws IOException {
	String next = _getIdentifier("a name");
	try {
		Name name = Name.fromString(next, origin);
		if (!name.isAbsolute())
			throw new RelativeNameException(name);
		return name;
	}
	catch (TextParseException e) {
		throw exception(e.getMessage());
	}
}
Gets the next token from a tokenizer and converts it to a name.
@param origin The origin to append to relative names.
@return The next token in the stream, as a name.
@throws TextParseException The input was invalid or not a valid name.
@throws IOException An I/O error occurred.
@throws RelativeNameException The parsed name was relative, even with the
origin.
@see Name
src/main/java/core/org/xbill/DNS/Tokenizer.java