code: public static <O> O deserialise(InputStream input,
                                      Class<O> requestMessageType) throws IOException {
  
          Gson gson = getBuilder().create();
          try (Reader reader = DebugReader.newInstance(input)) {
              return gson.fromJson(reader, requestMessageType);
          }
      }
docs: Deserialises the given {@link InputStream} to a JSON String.
  
  @param input              The stream to deserialise.
  @param requestMessageType The message type to deserialise into.
  @param <O>                The type to deserialise to.
  @return A new instance of the given type.
  @throws IOException If an error occurs in reading from the input stream.