Return the {@code ComputerLauncher} for this SlaveComputer, strips off
any {@code DelegatingComputerLauncher}s or {@code ComputerLauncherFilter}s.
@since 2.83
489908
public ComputerLauncher getDelegatedLauncher() {
        ComputerLauncher l = launcher;
        while (true) {
            if (l instanceof DelegatingComputerLauncher) {
                l = ((DelegatingComputerLauncher) l).getLauncher();
            } else if (l instanceof ComputerLauncherFilter) {
                l = ((ComputerLauncherFilter) l).getCore();
            } else {
                break;
            }
        }
        return l;
    }
515580
public Launch synchLaunch() throws LaunchException {
		JobDataMap jobDataMap = new JobDataMap();
		jobDataMap.put(Launch.PARAMETERS, this.launch.getParameters());
		jobDataMap.put(Launch.DEFAULT_EXECUTOR_KEY, this.launch.getExecutorService());
		try {
			this.launch.synchLaunch();
		} catch (org.parallelj.launching.LaunchException e) {
			throw new LaunchException(e);
		}
		
		org.parallelj.launching.LaunchResult result = this.launch.getLaunchResult();
		jobDataMap.put(QuartzUtils.RETURN_CODE, result.getStatusCode());
		jobDataMap.put(QuartzUtils.USER_RETURN_CODE, result.getReturnCode());
		jobDataMap.put(QuartzUtils.PROCEDURES_IN_ERROR, result.getProceduresInError());
		jobDataMap.put(Launch.OUTPUTS, this.launch.getLaunchResult().getOutputParameters());
		this.legacyLaunchResult = new LaunchResult(launch.getLaunchId(), jobDataMap);
		
		return this;
	}
426447
public ClassLoader getUserCodeClassLoader() {
		if (this.userCodeClassLoader == null) {
			this.userCodeClassLoader = buildUserCodeClassLoader(jarFiles, classpaths, getClass().getClassLoader());
		}
		return this.userCodeClassLoader;
	}
544414
public CompletableFuture<Void> unregisterEventProcessor() {
        TRACE_LOGGER.info(this.hostContext.withHost("Stopping event processing"));

        if (this.unregistered == null) {
            // PartitionManager is created in constructor. If this object exists, then
            // this.partitionManager is not null.
            this.unregistered = this.partitionManager.stopPartitions();

            // If we own the executor, stop it also.
            // Owned executor is also created in constructor.
            if (this.weOwnExecutor) {
                this.unregistered = this.unregistered.thenRunAsync(() -> {
                    // IMPORTANT: run this last stage in the default threadpool!
                    // If a task running in a threadpool waits for that threadpool to terminate, it's going to wait a long time...

                    // It is OK to call shutdown() here even if threads are still running.
                    // Shutdown() causes the executor to stop accepting new tasks, but existing tasks will
                    // run to completion. The pool will terminate when all existing tasks finish.
                    // By this point all new tasks generated by the shutdown have been submitted.
                    this.executorService.shutdown();

                    try {
                        this.executorService.awaitTermination(10, TimeUnit.MINUTES);
                    } catch (InterruptedException e) {
                        throw new CompletionException(e);
                    }
                }, ForkJoinPool.commonPool());
            }
        }

        return this.unregistered;
    }
515950
public SIMPIterator getPubSubDeliveryStreamSetReceiverIterator() {
		if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
			SibTr.entry(tc, "getPubSubDeliveryStreamSetReceiverIterator");

		SIMPIterator iterator = this.getInputHandler().getTargetStreamManager()
				.getTargetStreamSetControlIterator();

		if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
			SibTr.entry(tc, "getPubSubDeliveryStreamSetReceiverIterator");
		return iterator;
	}
411834
public SIMPIterator getTopicSpaceIterator()
  {
    DestinationTypeFilter filter = new DestinationTypeFilter();
    filter.QUEUE = Boolean.FALSE;
    SIMPIterator topicspacesItr = destinationIndex.iterator(filter);
    return new ControllableIterator(topicspacesItr);
  }
201565
public SIMPIterator getForeignBusIterator()
  {
    ForeignBusTypeFilter filter = new ForeignBusTypeFilter();
    SIMPIterator foreignBusItr = destinationManager.getForeignBusIndex().iterator(filter);
    return new ControllableIterator(foreignBusItr);
  }
804610
protected final Injector getInjector() {
        if (injector != null) {
            throw new IllegalStateException("Injector already created.");
        }
        try {
            injector = createInjector();
        }
        catch (Exception e) {
            LOG.error("Failed to created injector", e);
            throw new ProvisionException("Failed to create injector", e);
        }
        return injector;
    }
403956
public Iterator<SourceUnit> iterator() {
        return new Iterator<SourceUnit>() {
            Iterator<String> nameIterator = names.iterator();

            public boolean hasNext() {
                return nameIterator.hasNext();
            }

            public SourceUnit next() {
                String name = nameIterator.next();
                return sources.get(name);
            }

            public void remove() {
                throw new UnsupportedOperationException();
            }
        };
    }
822898
public SIMPIterator getLocalQueueIterator()
  {
    DestinationTypeFilter filter = new DestinationTypeFilter();
    filter.QUEUE = Boolean.TRUE;
    filter.LOCAL = Boolean.TRUE;
    SIMPIterator queuesItr = destinationIndex.iterator(filter);
    return new ControllableIterator(queuesItr);
  }
810232
public ExecutorService getExecutor() {
        ExecutorService executor = executorServiceRef != null ? executorServiceRef.getService() : null;
        if (executor != null) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                Tr.debug(tc, "The Liberty ExecutorService is being used to run asynch reactive work");
            }
            return executor;
        } else {
            // For unit testing
            if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                Tr.debug(tc, "The ForkJoinPool.commonPool is being used to run asynch reactive work");
            }
            return ForkJoinPool.commonPool();

        }
    }
1179084
protected TaskLauncher spawnLauncher(long millis) {
		final TaskLauncher launcher = new TaskLauncher(this.scheduler, millis);
		synchronized (this.launchers) {
			this.launchers.add(launcher);
		}
		//子线程是否为deamon线程取决于父线程，因此此处无需显示调用
		//launcher.setDaemon(this.scheduler.daemon);
//		launcher.start();
		this.scheduler.threadExecutor.execute(launcher);
		return launcher;
	}
884008
public org.tensorflow.framework.TensorProtoOrBuilder getTensorOrBuilder() {
    if (valueCase_ == 8) {
       return (org.tensorflow.framework.TensorProto) value_;
    }
    return org.tensorflow.framework.TensorProto.getDefaultInstance();
  }
875803
public File getLauncher() {
    if (System.getenv(LAUNCHER_ENV_VAR) != null && !System.getenv(LAUNCHER_ENV_VAR).isEmpty()) {
      options.get(LAUNCHER).setValue(new File(System.getenv(LAUNCHER_ENV_VAR)));
    }

    return (File) options.get(LAUNCHER).getValue();
  }
119206
public SIMPIterator getKnownDurableSubscriptionsIterator()
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getKnownDurableSubscriptionsIterator");    

    SIMPIterator topicSpaces = getTopicSpaceIterator();
    List subs = new LinkedList();

    while(topicSpaces.hasNext())
    {
      try
      {
        Topicspace ts = (Topicspace) topicSpaces.next();
        SIMPIterator sub = ts.getDurableSubscriptionIterator();
        while (sub.hasNext())
        {
          subs.add(
            new KnownDurableSubscription(
              (LocalSubscriptionControl)sub.next()));
        }
      }
      catch(SIMPException exception)
      {
        // We get this exception if one of the topicspaces is corrupt
        // FFDC but carry on with building the iterator without the corrupt
        // topicspace
        FFDCFilter.processException(
          exception,
          "com.ibm.ws.sib.processor.impl.MessageProcessorControl.getKnownDurableSubscriptionsIterator",
          "1:265:1.52",
          this);
          
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] { "com.ibm.ws.sib.processor.impl.MessageProcessorControl.getKnownDurableSubscriptionsIterator", 
                         "1:270:1.52", 
                         SIMPUtils.getStackTrace(exception) });
      }
    }    
    
    BasicSIMPIterator itr = new BasicSIMPIterator(subs.iterator());
    
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getKnownDurableSubscriptionsIterator", itr);  
    return itr;
  }
41363
public static ClassInjector getInstance(ClassLoader loader) {
        ClassInjector injector = null;

        synchronized (cShared) {
            Reference ref = (Reference)cShared.get(loader);
            if (ref != null) {
                injector = (ClassInjector)ref.get();
            }
            if (injector == null) {
                injector = new ClassInjector(loader);
                cShared.put(loader, new WeakReference(injector));
            }
            return injector;
        }
    }
1219627
public SIMPIterator getLocalSubscriptionIterator() throws SIMPException
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getLocalSubscriptionIterator");    

    SIMPIterator topicSpaces = getTopicSpaceIterator();
    SubscriptionIndex subs = new SubscriptionIndex();
        
    while(topicSpaces.hasNext())
    {
      Topicspace ts = (Topicspace) topicSpaces.next();
      SIMPIterator sub = ts.getInternalLocalSubscriptionIterator();
      while (sub.hasNext())
      {
        subs.put((ControllableSubscription)sub.next());
      }
    }    
    
    ControllableIterator itr = new ControllableIterator(subs.iterator());
    
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "getLocalSubscriptionIterator", itr);  
    return itr;
  }