private Record parseRR(MyStringTokenizer st, boolean useLast, Record last, Name origin) throws IOException { Name name; int ttl; short type, dclass; if (!useLast) name = new Name(st.nextToken(), origin); else name = last.getName(); String s = st.nextToken(); try { ttl = TTL.parseTTL(s); s = st.nextToken(); } catch (NumberFormatException e) { if (!useLast || last == null) ttl = defaultTTL; else ttl = last.getTTL(); } if ((dclass = DClass.value(s)) > 0) s = st.nextToken(); else dclass = DClass.IN; if ((type = Type.value(s)) < 0) throw new IOException("Parse error"); return Record.fromString(name, type, dclass, ttl, st, origin); }