code: public Object decode(Decoder decoder) throws IOException {
      try {
        return outputGenerator.read(decoder, schema);
      } catch (IOException e) {
        LOG.error("Cannot instantiate object of type {}", outputClass.getName(), e);
        throw e;
      }
    }
docs: This function is called for each incoming byte record.
  
  @param decoder The decoder that encapsulates the byte[] data record
  @return Map of method and the input parameter objects
  @throws java.io.IOException if the {@link co.cask.tigon.internal.io.ReflectionDatumReader} cannot decode incoming
  data record