private synchronized Object[] getOutputRowData(Object[] row) throws KettleException { Object[] outputRowData = RowDataUtil.allocateRowData(data.outputRowMeta.size()); for (int i = 0; i < data.NrPrevFields; i++) { outputRowData[i] = row[i]; } if (first) { first = false; } else { for (int i = 0; i < data.inStreamNrs.length; i++) { outputRowData[data.NrPrevFields + i] = data.previousRow[data.inStreamNrs[i]]; } } data.previousRow = row; return outputRowData; }