code: public static <T>  List<FieldVector> toArrowColumnsTimeSeriesHelper(final BufferAllocator bufferAllocator,
                                                                          final Schema schema,
                                                                          List<List<List<T>>> dataVecRecord) {
          //time series length * number of columns
          int numRows = 0;
          for(List<List<T>> timeStep : dataVecRecord) {
              numRows += timeStep.get(0).size() * timeStep.size();
          }
  
          numRows /= schema.numColumns();
  
  
          List<FieldVector> ret = createFieldVectors(bufferAllocator,schema,numRows);
          Map<Integer,Integer> currIndex = new HashMap<>(ret.size());
          for(int i = 0; i < ret.size(); i++) {
              currIndex.put(i,0);
          }
          for(int i = 0; i < dataVecRecord.size(); i++) {
              List<List<T>> record = dataVecRecord.get(i);
              for(int j = 0; j < record.size(); j++) {
                  List<T> curr = record.get(j);
                  for(int k = 0; k < curr.size(); k++) {
                      Integer idx = currIndex.get(k);
                      FieldVector fieldVector = ret.get(k);
                      T writable = curr.get(k);
                      setValue(schema.getType(k), fieldVector, writable, idx);
                      currIndex.put(k,idx + 1);
                  }
              }
          }
  
          return ret;
      }
docs: Convert a set of input strings to arrow columns
  for a time series.
  @param bufferAllocator the buffer allocator to use
  @param schema the schema to use
  @param dataVecRecord the collection of input strings to process
  @return the created vectors