docs: public static void setValue(ColumnType columnType,FieldVector fieldVector,Object value,int row) {
          if(value instanceof NullWritable) {
              return;
          }
          try {
              switch (columnType) {
                  case Integer:
                      if (fieldVector instanceof IntVector) {
                          IntVector intVector = (IntVector) fieldVector;
                          int set = TypeConversion.getInstance().convertInt(value);
                          intVector.set(row, set);
                      } else if (fieldVector instanceof UInt4Vector) {
                          UInt4Vector uInt4Vector = (UInt4Vector) fieldVector;
                          int set = TypeConversion.getInstance().convertInt(value);
                          uInt4Vector.set(row, set);
                      } else {
                          throw new UnsupportedOperationException("Illegal type " + fieldVector.getClass() + " for int type");
                      }
                      break;
                  case Float:
                      Float4Vector float4Vector = (Float4Vector) fieldVector;
                      float set2 = TypeConversion.getInstance().convertFloat(value);
                      float4Vector.set(row, set2);
                      break;
                  case Double:
                      double set3 = TypeConversion.getInstance().convertDouble(value);
                      Float8Vector float8Vector = (Float8Vector) fieldVector;
                      float8Vector.set(row, set3);
                      break;
                  case Long:
                      if (fieldVector instanceof BigIntVector) {
                          BigIntVector largeIntVector = (BigIntVector) fieldVector;
                          largeIntVector.set(row, TypeConversion.getInstance().convertLong(value));
  
                      } else if (fieldVector instanceof UInt8Vector) {
                          UInt8Vector uInt8Vector = (UInt8Vector) fieldVector;
                          uInt8Vector.set(row, TypeConversion.getInstance().convertLong(value));
                      } else {
                          throw new UnsupportedOperationException("Illegal type " + fieldVector.getClass() + " for long type");
                      }
                      break;
                  case Categorical:
                  case String:
                      String stringSet = TypeConversion.getInstance().convertString(value);
                      VarCharVector textVector = (VarCharVector) fieldVector;
                      textVector.setSafe(row, stringSet.getBytes());
                      break;
                  case Time:
                      //all timestamps are long based, just directly convert it to the super type
                      long timeSet = TypeConversion.getInstance().convertLong(value);
                      setLongInTime(fieldVector, row, timeSet);
                      break;
                  case NDArray:
                      NDArrayWritable arr = (NDArrayWritable) value;
                      VarBinaryVector nd4jArrayVector = (VarBinaryVector) fieldVector;
                      //slice the databuffer to use only the needed portion of the buffer
                      //for proper offsets
                      ByteBuffer byteBuffer = BinarySerde.toByteBuffer(arr.get());
                      nd4jArrayVector.setSafe(row,byteBuffer,0,byteBuffer.capacity());
                      break;
  
              }
          }catch(Exception e) {
              log.warn("Unable to set value at row " + row);
          }
      }