/** If exists, reset and return, otherwise create, reset and return a writer. */
 private static UTF8StreamWriter utf8StreamWriter() {
   SoftReference<UTF8StreamWriter> ref = utf8StreamWriter.get();
   UTF8StreamWriter writer = (ref == null) ? null : ref.get();
   if (writer == null) {
     writer = new UTF8StreamWriter(1024 * 4);
     utf8StreamWriter.set(new SoftReference<>(writer));
   }
   writer.reset();
   return writer;
 }