public static String getTableOfTransformsInCSVFormat(final JBroFuzzWindow mWindow) {
		
		FuzzersTableModel inputTableModel = mWindow.getPanelFuzzing().getFuzzersPanel().getFuzzersTableModel();
		
		final StringBuffer output = new StringBuffer();
		final int totalFuzzerRows = inputTableModel.getRowCount();
		
		if (totalFuzzerRows < 1) {
			return "";
		}

		for (int fuzzerRow = 0; fuzzerRow < totalFuzzerRows; fuzzerRow++) {
			
			TransformsTableModel encoderRows = mWindow.getPanelFuzzing().getTransformsPanel().getTransforms(fuzzerRow);
			
			final int totalEncoderRows = encoderRows.getRowCount();
			
			for (int transformRow = 0; transformRow <totalEncoderRows; transformRow++) {
				
				output.append( (fuzzerRow + 1) );
				output.append(',');
				output.append( encoderRows.getRow(transformRow).getEncoder() );
				output.append(',');
				
				String prefix;
				try {
					prefix = Base64.encodeBase64String( encoderRows.getRow(transformRow).getPrefixOrMatch().getBytes("UTF-8") );
					prefix = StringUtils.chomp(prefix);
				} catch (UnsupportedEncodingException e) {
					prefix = "";
				}
				output.append(prefix);
				output.append(',');
				
				String suffix;
				try {
					suffix = Base64.encodeBase64String( encoderRows.getRow(transformRow).getSuffixOrReplace().getBytes("UTF-8") );
					suffix = StringUtils.chomp(suffix);
				} catch (UnsupportedEncodingException e) {
					suffix = "";
				}
				output.append(suffix);
				
				// Append a new line, but not for the last line of the last transform
				if ( (fuzzerRow != totalFuzzerRows - 1) || (transformRow != totalEncoderRows - 1) ) {
					output.append('\n');
				}
				
			}

		}

		return output.toString();

	}