When I moved the id3Reader instantiation out of the while loop (below where it is now) it was no longer guarded by the streamTypes.get(streamType) deduping check. This brings back an equivalent check.