boolean ignoreCaseOfPN, boolean matchNoValue)
throws IOException {
while (offset != 0) {
Attributes item = readRecord(offset);
if (inUse(item) && !(ignorePrivate && isPrivate(item))
&& (keys == null || item.matches(keys, ignoreCaseOfPN, matchNoValue)))
return item;
offset = item.getInt(Tag.OffsetOfTheNextDirectoryRecord, 0);
}
return null;
}