code: private Object decodeResult(IoBuffer data) {
          log.debug("decodeResult - data limit: {}", (data != null ? data.limit() : 0));
          processHeaders(data);
          int count = data.getUnsignedShort();
          if (count != 1) {
              throw new RuntimeException("Expected exactly one result but got " + count);
          }
          Input input = new Input(data);
          String target = input.getString(); // expect "/onResult"
          log.debug("Target: {}", target);
          String nullString = input.getString(); // expect "null"
          log.debug("Null string: {}", nullString);
          // Read return value
          return Deserializer.deserialize(input, Object.class);
      }
docs: Decode response received from remoting server.
  
  @param data
  Result data to decode
  @return Object deserialized from byte buffer data