Bug 213907 Provide a copy constructor for SubqueryDefinition.
Engine need a copy constructor to generate a SubqueryDefinition from an ISubqueryDefinition and change the name of the query.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/PreparedQuery.java
{
					exprCol.add( icbe.getExpression( ) );
					resultSetExpressions.put(key, icbe);
				}	
			}
		}
		prepareExpressions(exprCol, groupLevel, false, true, cx);
		
		String key = null;
		if( trans instanceof IGroupDefinition )
		{
			IGroupDefinition gd = (IGroupDefinition)trans;
			key = gd.getKeyColumn( ) != null ? gd.getKeyColumn( ):gd.getKeyExpression( );
		}
		this.exprManager.addBindingExpr( key, resultSetExpressions, groupLevel );
		
		
		Collection subQueries = trans.getSubqueries( );
		Iterator subIt = subQueries.iterator( );
		while ( subIt.hasNext( ) )
		{
			ISubqueryDefinition subquery = (ISubqueryDefinition) subIt.next( );
			PreparedSubquery pq = new PreparedSubquery( this.session, this.dataEngineContext,
					subquery,
					queryService,
					groupLevel );
			subQueryMap.put( subquery.getName(), pq);
			
			subQueryDefnMap.put( subquery.getName( ), new Object[]{
					subquery, new Integer( groupLevel )