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
* which can be subsequently executed to produce query results.
	 */
	public abstract IBasePreparedQuery prepare( IDataQueryDefinition query,
			Map appContext ) throws AdapterException;
	/**
	 * Execute a base prepared query, return an IBaseQueryResults instance which
	 * can in turn be used to get Result Iterator or Cube cursor.
	 */
	public abstract IBaseQueryResults execute( IBasePreparedQuery query,
			IBaseQueryResults outerResults, Scriptable scope )
			throws AdapterException;
	/**
	 * Retrieves all distinct values of a data set column based on searchInfo
	 * and return in a Collection.
	 * 
	 * @param dataSet
	 *            Handle of data set to query
	 * @param inputParamBindings
	 *            An iterator of ParamBindingHandle objects that defines
	 *            bindings for the data set's input parameters
	 * @param columnBindings
	 *            An iterator of ComputedColumnHandle objects that define all
	 *            column binding expressions
	 * @param boundColumnName
	 *            Name of the bound column to retrieve values for
	 * @param requestInfo
	 *            Information on result set retrieving(like start index,return
	 *            row number...)
	 * @return
	 * @throws BirtException