code: private Object processElement(byte[] source, int offset, int currentColumnIndex) {
          byte[] temp;
          int length = columnsDataLength.get(currentColumnIndex);
          if (columns.get(currentColumnIndex).getType() == Number.class) {
              temp = Arrays.copyOfRange(source, offset + (int) (long) columnsDataOffset.get(currentColumnIndex),
                      offset + (int) (long) columnsDataOffset.get(currentColumnIndex) + length);
              if (columnsDataLength.get(currentColumnIndex) <= 2) {
                  return bytesToShort(temp);
              } else {
                  if (columns.get(currentColumnIndex).getFormat().getName().isEmpty()) {
                      return convertByteArrayToNumber(temp);
                  } else {
                      if (DATE_TIME_FORMAT_STRINGS.contains(columns.get(currentColumnIndex).getFormat().getName())) {
                          return bytesToDateTime(temp);
                      } else {
                          if (DATE_FORMAT_STRINGS.contains(columns.get(currentColumnIndex).getFormat().getName())) {
                              return bytesToDate(temp);
                          } else {
                              return convertByteArrayToNumber(temp);
                          }
                      }
                  }
              }
          } else {
              byte[] bytes = trimBytesArray(source,
                      offset + columnsDataOffset.get(currentColumnIndex).intValue(), length);
              if (byteOutput) {
                  return bytes;
              } else {
                  try {
                      return (bytes == null ? null : bytesToString(bytes));
                  } catch (UnsupportedEncodingException e) {
                      LOGGER.error(e.getMessage(), e);
                  }
              }
          }
          return null;
      }
docs: The function to process element of row.
  
  @param source             an array of bytes containing required data.
  @param offset             the offset in source of required data.
  @param currentColumnIndex index of the current element.
  @return object storing the data of the element.