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.report.data.adapter/src/org/eclipse/birt/report/data/adapter/api/DataRequestSession.java
*            appContext is passed to all data source and data set drivers
	 *            involved with the query execution. Pass in null if the session
	 *            application context (set by DataSessionContext.setAppContext)
	 *            is to to used. If not null, this context is used instead of
	 *            the session application context
	 * @returnThe <code>IPreparedCubeQuery</code> object that contains a
	 *            prepared query ready for execution.
	 * @throws BirtException
	 */
	public abstract IPreparedCubeQuery prepare( ICubeQueryDefinition query,
			Map appContext ) throws BirtException;
	/**
	 * Get the ICubeQueryResults instance that is stored in report document
	 * based on the given id. This is for presentation time only.
	 * 
	 * @param id
	 * @return
	 */
	public ICubeQueryResults getCubeQueryResults(String id)
	{
		
		return null;
	}
	
	/**
	 * Prepares a data query, and returns an IPreparedQuery instance which can
	 * be subsequently executed to produce query results
	 * 
	 * @param querySpec
	 *            Specifies the data access and data transforms services needed