code: public void materializeHelper(Materializer maker) throws IOException {
      if (!materialized) {
        ReaderWriterProfiler.start(ReaderWriterProfiler.Counter.DECODING_TIME);
        try {
          maker.materialize(treeReader, currentRow);
          materialized = true;
          writableCreated = false;
          nextIsNull = false;
          nextIsNullSet = true;
        }
        catch (ValueNotPresentException e) {
          // Is the value null?
          //
          materialized = true;
          writableCreated = true; // We have effectively created a writable
          nextIsNull = true;
          nextIsNullSet = true;
          throw new IOException("Cannot materialize primitive: value not present");
        }
        ReaderWriterProfiler.end(ReaderWriterProfiler.Counter.DECODING_TIME);
      }
      else if (nextIsNull) {
        throw new IOException("Cannot materialize primitive: value not present.");
      }
    }
docs: A Helper to materialize primitive data types