private void transcodeAndTag(final Avatar avatar, final Avatar.Size size, final File transcoded) throws IOException { try (final OutputStream outputStream = new FileOutputStream(transcoded); final InputStream svgFileStream = AvatarManagerImpl.class.getResourceAsStream("/avatars/" + avatar.getFileName())) { final TranscoderInput transcoderInput = new TranscoderInput(svgFileStream); final TranscoderOutput transcoderOutput = new TranscoderOutput(outputStream); final PNGTranscoder transcoder = newPNGTranscoder(size); transcoder.transcode(transcoderInput, transcoderOutput); avatarTagger.tagSingleAvatarFile(transcoded, transcoded); } catch (TranscoderException e) { throw new RuntimeException(e); } }