docs: @Override
      public T getUsing(@Nullable T using) {
          try {
              T result = (T) new ObjectInputStream(in).readObject();
              bytes.readPosition(0);
              return result;
          } catch (IOException | ClassNotFoundException e) {
              throw new RuntimeException(e);
          }
      }