docs: public void insertRow(Object rowHandle, Object... fieldList)  throws InterruptedException {
          int partitionId = 0;
          //Find partition to send this row to and put on correct PerPartitionTable.
          if (fieldList == null || fieldList.length <= 0) {
              String errMsg;
              if (rowHandle == null)
                  errMsg = "Error: insertRow received empty fieldList";
              else
                  errMsg = "Error: insertRow received empty fieldList for row: " + rowHandle.toString();
              generateError(rowHandle, fieldList, errMsg);
              return;
          }
          if (fieldList.length != m_columnCnt) {
              String errMsg;
              if (rowHandle == null)
                  errMsg = "Error: insertRow received incorrect number of columns; " + fieldList.length +
                          " found, " + m_columnCnt + " expected";
              else
                  errMsg = "Error: insertRow received incorrect number of columns; " + fieldList.length +
                          " found, " + m_columnCnt + " expected for row: " + rowHandle.toString();
              generateError(rowHandle, fieldList, errMsg);
              return;
          }
          VoltBulkLoaderRow newRow = new VoltBulkLoaderRow(this, rowHandle, fieldList);
          if (m_isMP) {
              m_partitionTable[m_firstPartitionTable].insertRowInTable(newRow);
          }
          else {
              try {
                  partitionId = (int)m_clientImpl.getPartitionForParameter(
                          m_partitionColumnType.getValue(), fieldList[m_partitionedColumnIndex]);
                  m_partitionTable[partitionId].insertRowInTable(newRow);
              } catch (VoltTypeException e) {
                  generateError(rowHandle, fieldList, e.getMessage());
                  return;
              }
          }
          m_outstandingRowCount.incrementAndGet();
      }