code: @Override
    public void introspect(ContextH3 context)
    {
      if (_infoRef.get() != null) {
        return;
      }
      
      _ctor = introspectConstructor();
  
      TreeMap<String,FieldSerBase> fieldMap = new TreeMap<>();
  
      try {
        introspectFields(fieldMap, _type);
      } catch (Exception e) {
        throw new IllegalStateException(e);
      }
  
      _fields = new FieldSerBase[fieldMap.size()];
      fieldMap.values().toArray(_fields);
  
      FieldInfoH3[] fieldInfo = new FieldInfoH3[_fields.length];
  
      for (int i = 0; i < _fields.length; i++) {
        fieldInfo[i] = _fields[i].info(); 
      }
  
      _infoRef.compareAndSet(null, new ClassInfoH3(_type.getName(), fieldInfo));
    }
docs: Introspect the class.