src/main/java/io/mantisrx/api/services/JobDiscoveryService.java
public Observable<JobSchedulingInfo> jobDiscoveryInfoStream(JobDiscoveryLookupKey lookupKey) {
        Preconditions.checkNotNull(lookupKey, "lookup key cannot be null for fetching job discovery info");
        Preconditions.checkArgument(lookupKey.getId() != null && !lookupKey.getId().isEmpty(), "Lookup ID cannot be null or empty" + lookupKey);
        subjectMapSizeGauge.set(subjectMap.size());
        return subjectMap.computeIfAbsent(lookupKey, (jc) -> new JobDiscoveryInfoSubjectHolder(mantisClient, jc, removeSubjectAction, this.retryCount, scheduler)).jobDiscoveryInfoStream();
    }
/**
     * Atomically inserts a JobDiscoveryInfoSubjectHolder if absent and returns an Observable of JobSchedulingInfo to the caller
     *
     * @param lookupKey - Job cluster name or JobID
     *
     * @return
     */
Atomically inserts a JobDiscoveryInfoSubjectHolder if absent and returns an Observable of JobSchedulingInfo to the caller
@param lookupKey - Job cluster name or JobID

@return
Atomically inserts a JobDiscoveryInfoSubjectHolder if absent and returns an Observable of JobSchedulingInfo to the caller @param lookupKey - Job cluster name or JobID @return
public Observable<JobSchedulingInfo> jobDiscoveryInfoStream(JobDiscoveryLookupKey lookupKey) {
        Preconditions.checkNotNull(lookupKey, "lookup key cannot be null for fetching job discovery info");
        Preconditions.checkArgument(lookupKey.getId() != null && !lookupKey.getId().isEmpty(), "Lookup ID cannot be null or empty" + lookupKey);
        subjectMapSizeGauge.set(subjectMap.size());
        return subjectMap.computeIfAbsent(lookupKey, (jc) -> new JobDiscoveryInfoSubjectHolder(mantisClient, jc, removeSubjectAction, this.retryCount, scheduler)).jobDiscoveryInfoStream();
    }
public Observable < JobSchedulingInfo > jobDiscoveryInfoStream ( JobDiscoveryLookupKey lookupKey ) { Preconditions . checkNotNull ( lookupKey , "lookup key cannot be null for fetching job discovery info" ) ; Preconditions . checkArgument ( lookupKey . getId ( ) != null && ! lookupKey . getId ( ) . isEmpty ( ) , "Lookup ID cannot be null or empty" + lookupKey ) ; subjectMapSizeGauge . set ( subjectMap . size ( ) ) ; return subjectMap . computeIfAbsent ( lookupKey , ( jc ) -> new JobDiscoveryInfoSubjectHolder ( mantisClient , jc , removeSubjectAction , this . retryCount , scheduler ) ) . jobDiscoveryInfoStream ( ) ; }
Atomically inserts a JobDiscoveryInfoSubjectHolder if absent and returns an Observable of JobSchedulingInfo to the caller
 @param lookupKey - Job cluster name or JobID
Atomically inserts a JobDiscoveryInfoSubjectHolder if absent and returns an Observable of JobSchedulingInfo to the caller @param lookupKey - Job cluster name or JobID