protected void updateLoadedJobs( String key, RunConfiguration runConfig ) {
    for ( JobMeta job : spoonSupplier.get().getLoadedJobs() ) {
      for ( int i = 0; i < job.nrJobEntries(); i++ ) {
        JobEntryInterface entry = job.getJobEntry( i ).getEntry();

        if ( entry instanceof JobEntryRunConfigurableInterface ) {
          JobEntryRunConfigurableInterface jet = (JobEntryRunConfigurableInterface) entry;
          if ( jet.getRunConfiguration() != null ) {
            if ( jet.getRunConfiguration().equals( key ) ) {
              try {
                ExtensionPointHandler.callExtensionPoint( job.getLogChannel(), KettleExtensionPoint.JobEntryTransSave.id,
                  new Object[] { job, runConfig.getName() } );
              } catch ( KettleException e ) {
                spoonSupplier.get().getLog().logBasic( "Unable to set run configuration in job " + job.getName() );
              }

              jet.setRunConfiguration( runConfig.getName() );
              if ( runConfig instanceof DefaultRunConfiguration ) {
                jet.setRemoteSlaveServerName( ( (DefaultRunConfiguration) runConfig ).getServer() );
                jet.setLoggingRemoteWork( ( (DefaultRunConfiguration) runConfig ).isLogRemoteExecutionLocally() );
              }
              jet.setChanged();
            }
          }
        }
      }
    }
  }
@Test
  public void testUpdateLoadedJobs_Exception() throws Exception {
    JobEntryTrans trans = new JobEntryTrans();
    trans.setRunConfiguration( "key" );

    JobMeta meta = new JobMeta();
    meta.addJobEntry( new JobEntryCopy( trans ) );

    JobMeta[] jobs = new JobMeta[] { meta };
    doReturn( jobs ).when( spoon ).getLoadedJobs();

    DefaultRunConfiguration config = new DefaultRunConfiguration();
    config.setName( "Test" );
    config.setServer( "localhost" );

    LogChannelInterface log = mock( LogChannelInterface.class );
    doReturn( log ).when( spoon ).getLog();

    try ( MockedStatic<ExtensionPointHandler> mockedHandler = mockStatic( ExtensionPointHandler.class ) ) {
      mockedHandler.when( () -> ExtensionPointHandler.callExtensionPoint( any(), any(), any() ) ).thenThrow( KettleException.class );
      delegate.updateLoadedJobs( "key", config );

      verify( log, times( 1 ) ).logBasic( any() );
    }
  }