Includes the following changes.
Break TwoPhaseLoad into 2 methods, #initializeEntityEntryLoadedState and #initializeEntityFromEntityEntryLoadedState. #initializeEntityEntryLoadedState takes an argument of type EntityResolver, which is responsible for resolving to-one entity properties.
A method was extracted from Loader#processResultSe, #getRowsFromResultSet, which reads all the rows from the ResultSet.
Some methods in Loader and OuterJoinLoader were changed to protected or public, as needed so that Reactive implementations could make them public.
Changes to AbstractLoadPlanBasedEntityLoader, AbstractLoadQueryDetails, EntityLoadQueryDetails, BatchingLoadQueryDetailsFactory, to allow a ResultSetProcessorResolver to be provided by an implementation of AbstractLoadPlanBasedEntityLoader
Changes to ResultSetProcessorImpl to allow hibernate-reactive loaders to extend it so that it can process the ResultSet and resolve hydrated objects reactively.
Added EntityType#isEager(Boolean overridingEager) in order to determine if an entity attribute being resolved by TwoPhaseLoad#initializeEntity will be eager.