wrapper->req=db->retrievePMTElementaryStreams(wrapper, serviceId, any ? new DvbSi::IdTracker(): new DvbSi::IdTracker(ar), (DvbSi::RetrieveMode)retrieveMode);
wrapper->req=db->retrievePMTElementaryStreams(wrapper, originalNetworkId, transportStreamId, serviceId, any ? 0 : new DvbSi::ListIdTracker(ar), (DvbSi::RetrieveMode)retrieveMode);
jlong Java_org_dvb_si_SIDatabaseRequest_PMTElementaryStreamsRequest(JNIEnv* env, jobject obj, jobject nativeDatabase, jshort retrieveMode, jint serviceId, jintArray componentTags) {   JNI::JNIEnvProvider::SetJavaEnv(env);   DvbSi::Database::Ptr db=NativeDvbsiDatabaseData(nativeDatabase);   PMTElementaryStreamsRequestWrapper *wrapper=new PMTElementaryStreamsRequestWrapper(obj);      jint *ar=env->GetIntArrayElements(componentTags, 0);   bool any= (env->GetArrayLength(componentTags)==1) && (ar[0]==-1);      wrapper->req=db->retrievePMTElementaryStreams(wrapper, serviceId, any ? new DvbSi::IdTracker(): new DvbSi::IdTracker(ar),               (DvbSi::RetrieveMode)retrieveMode);                  env->ReleaseIntArrayElements(componentTags, ar, JNI_ABORT);      return (jlong)wrapper;}