public override ExternalDatasourceTable clone()
        {
            ExternalDatasourceTable datasource = new ExternalDatasourceTable();

            datasource.Id   = Id;
            datasource.Data = this;
            return(datasource);
        }
        public virtual ExternalDatasourceTable deepCopy()
        {
            ExternalDatasourceTable datasource = clone();

            datasource.QuerySet = new HashSet <ExternalQueryTable>();

            foreach (ExternalQueryTable query in querySet)
            {
                datasource.QuerySet.Add(query.deepCopy());
            }

            return(datasource);
        }