code: public Base64NDArrayBody transformSequenceArray(SequenceBatchCSVRecord batchCSVRecordSequence) {
          List<List<List<String>>> strings = batchCSVRecordSequence.getRecordsAsString();
          boolean allSameLength = true;
          Integer length = null;
          for(List<List<String>> record : strings) {
              if(length == null) {
                  length = record.size();
              }
              else if(record.size() != length)  {
                  allSameLength = false;
              }
          }
  
          if(allSameLength) {
              List<FieldVector> fieldVectors = toArrowColumnsStringTimeSeries(bufferAllocator, transformProcess.getInitialSchema(), strings);
              ArrowWritableRecordTimeSeriesBatch arrowWritableRecordTimeSeriesBatch = new ArrowWritableRecordTimeSeriesBatch(fieldVectors,transformProcess.getInitialSchema(),strings.get(0).get(0).size());
              val transformed = LocalTransformExecutor.executeSequenceToSequence(arrowWritableRecordTimeSeriesBatch,transformProcess);
              INDArray arr = RecordConverter.toTensor(transformed).reshape(strings.size(),strings.get(0).get(0).size(),strings.get(0).size());
              try {
                  return new Base64NDArrayBody(Nd4jBase64.base64String(arr));
              } catch (IOException e) {
                  throw new IllegalStateException(e);
              }
          }
  
          else {
              val transformed = LocalTransformExecutor.executeSequenceToSequence(LocalTransformExecutor.convertStringInputTimeSeries(batchCSVRecordSequence.getRecordsAsString(),transformProcess.getInitialSchema()),transformProcess);
              INDArray arr = RecordConverter.toTensor(transformed).reshape(strings.size(),strings.get(0).get(0).size(),strings.get(0).size());
              try {
                  return new Base64NDArrayBody(Nd4jBase64.base64String(arr));
              } catch (IOException e) {
                  throw new IllegalStateException(e);
              }
          }
  
      }
docs: TODO: optimize
  @param batchCSVRecordSequence
  @return