docs: private synchronized PersistenceServiceUnit createPsu() throws Exception {
          if (psu != null) {
              return psu;
          }
  
          // Load the PSU including the most recent entities.
          PersistenceServiceUnit retMe = createLatestPsu();
  
          // If any tables are not up to the current code level, re-load the PSU with backleveled entities.
          int instanceVersion = getJobInstanceTableVersion(retMe);
          if (instanceVersion < 3) {
              logger.fine("The GROUPNAMES column could not be found. The persistence service unit will exclude the V3 instance entity.");
              retMe.close();
              retMe = createPsu(instanceVersion, MAX_EXECUTION_VERSION);
          }
  
          int executionVersion = getJobExecutionTableVersion(retMe);
          if (executionVersion < 2) {
              logger.fine("The JOBPARAMETERS table could not be found. The persistence service unit will exclude the V2 execution entity.");
              retMe.close();
              retMe = createPsu(instanceVersion, executionVersion);
          }
  
          //222050 - Backout 205106 RemotablePartitionEntity.class.getName());
  
          // Perform recovery immediately, before returning from this method, so that
          // other callers won't be able to access the PSU (via getPsu()) until recovery is complete.
          new WSStartupRecoveryServiceImpl().setIPersistenceManagerService(JPAPersistenceManagerImpl.this).setPersistenceServiceUnit(retMe).recoverLocalJobsInInflightStates();
          //222050 - Backout 205106 .recoverLocalPartitionsInInflightStates();
  
          // Make sure we assign psu before leaving the synchronized block.
          psu = retMe;
  
          return psu;
      }