docs: public static StringBuffer getSqlData(final String[] columns, final String[] columnTypes,
  		final String[] columnTypesEdit, final Map<Integer, Integer> lineOrder,
  		final List<String[]> lines, final boolean withEndSemicolon)
  	{
  		final StringBuffer sb = new StringBuffer();
  		int autoincrement = 0;
  		for (final Iterator<String[]> iterator = lines.iterator(); iterator.hasNext();)
  		{
  			String[] line;
  			if (lineOrder != null)
  			{
  				final String[] trueLine = iterator.next();
  				final String newLine[] = new String[columnTypes.length];
  				for (final Integer index : lineOrder.keySet())
  				{
  					newLine[lineOrder.get(index)] = trueLine[index];
  				}
  				line = newLine;
  			}
  			else
  			{
  				line = iterator.next();
  			}
  			sb.append("(");
  			for (int i = 0; i < line.length; i++)
  			{
  				String lineItem = line[i];
  				if (columnTypesEdit != null)
  				{
  					final String columTypeEdit = columnTypesEdit[i];
  					final String[] editTypeData = columTypeEdit.split(",");
  					final String editType = editTypeData[0];
  					if (editType.equals("edit"))
  					{
  						if (3 < editTypeData.length)
  						{
  							lineItem = lineItem.replace(editTypeData[1], editTypeData[2]);
  							final Boolean lc = new Boolean(editTypeData[3]);
  							if (lc)
  							{
  								final String tlc = lineItem.toLowerCase();
  								sb.append("\"" + tlc + "\"");
  							}
  							else
  							{
  								sb.append("\"" + lineItem + "\"");
  							}
  						}
  						else
  						{
  							sb.append("\"" + lineItem + "\"");
  						}
  					}
  					else if (editType.equals("autoincrement"))
  					{
  						final int startCount = Integer.parseInt(editTypeData[1]);
  						if (i == 0 && autoincrement == 0)
  						{
  							autoincrement = startCount;
  						}
  						sb.append(autoincrement);
  						autoincrement++;
  					}
  					else if (editType.equals("constant"))
  					{
  						final String type = editTypeData[1];
  						if (type.equals("text"))
  						{
  							sb.append("\"" + editTypeData[2] + "\"");
  						}
  						else
  						{
  							sb.append(editTypeData[2]);
  						}
  					}
  				}
  				else
  				{
  					if (lineItem != null)
  					{
  						if (columnTypes[i].endsWith("text"))
  						{
  							sb.append("\"" + lineItem + "\"");
  						}
  						else
  						{
  							sb.append(lineItem);
  						}
  					}
  					else
  					{
  						sb.append(lineItem);
  					}
  
  				}
  				if (i < columns.length - 1)
  				{
  					sb.append(", ");
  				}
  			}
  			sb.append(")");
  			if (iterator.hasNext())
  			{
  				sb.append(",\n");
  			}
  			else
  			{
  				if (withEndSemicolon)
  				{
  					sb.append(";\n");
  				}
  				else
  				{
  					sb.append(",\n");
  				}
  			}
  		}
  		return sb;
  	}