static CloseableShortIterator decodeOpusStream(S url) throws IOException { temp var res = tempResources(); var in = res.add(httpInputStream(url)); OpusMachine machine = res.add(new OpusMachine(in)); //on clean exit { res.forget(); } ret with(-> res.forget(), new OpusMachineIterator(machine)); }