if ( columnName.toUpperCase( ).startsWith( "ROW." ) ) columnName = columnName.toUpperCase( ) .replaceFirst( "\\QROW.\\E", "" ); else if ( columnName.toUpperCase( ).startsWith( "ROW[" ) )
if ( columnName.trim( ).toUpperCase( ).startsWith( "ROW" ) )
		private String getGroupKeyColumnName( GroupDefinition group )		{			String columnName;			if ( group.getKeyColumn( ) != null )			{				columnName = group.getKeyColumn( );			}			else			{				columnName = group.getKeyExpression( );				if ( columnName.toUpperCase( ).startsWith( "ROW." ) )					columnName = columnName.toUpperCase( )							.replaceFirst( "\\QROW.\\E", "" );				else if ( columnName.toUpperCase( ).startsWith( "ROW[" ) )				{					columnName = columnName.toUpperCase( )							.replaceFirst( "\\QROW\\E\\s*\\Q[\\E", "" );					columnName = columnName.trim( ).substring( 0,							columnName.length( ) - 1 ).trim( );				}				if ( columnName != null						&& columnName.matches( "\\Q\"\\E.*\\Q\"\\E" ) )					columnName = columnName.substring( 1,							columnName.length( ) - 1 );			}			// Dealing with columnNames enclosed by double quotation mark.			if ( columnName.startsWith( "\\\"" )					&& columnName.endsWith( "\\\"" ) )			{				columnName = "\""						+ columnName.substring( 2, columnName.length( ) - 2 )						+ "\"";			}			return columnName;		}