((RequestWrapper *)nativeRequest)->getDataSource(source);
RequestWrapperNativeData(nativeRequest).Get()->getDataSource(source);
jlong Java_org_dvb_si_SIDatabaseRequest_DescriptorRequestBouquet(JNIEnv* env, jobject obj, jobject nativeDatabase, jshort retrieveMode, jlong nativeList, jlong nativeRequest, jshortArray tags) {   JNI::JNIEnvProvider::SetJavaEnv(env);   DvbSi::Database::Ptr db=NativeDvbsiDatabaseData(nativeDatabase);   std::list<DvbSi::BAT> *list=(std::list<DvbSi::BAT> *)nativeList;   DvbSi::DataSource source;   ((RequestWrapper *)nativeRequest)->getDataSource(source);      DescriptorRequestWrapper *wrapper=new DescriptorRequestWrapper(obj);   DvbSi::DescriptorRequest *req=new DvbSi::DescriptorRequest(source, wrapper);   wrapper->req=req;      for (std::list<DvbSi::BAT>::iterator stlit=list->begin(); stlit != list->end(); ++stlit) {      DvbSi::BAT nit(*stlit);      //TODO: honor tags      req->Add(nit.commonDescriptors);   }   db->DispatchResult(req);   return (jlong)wrapper;}