evictCachedCollections( persister, id, source.getFactory() );
String previousFetchProfile = source.getFetchProfile();
source.setFetchProfile("refresh");
Object result = persister.load( id, object, event.getLockOptions(), source );
// Keep the same read-only/modifiable setting for the entity that it had before refreshing;
// If it was transient, then set it to the default for the source.
source.setReadOnly( result, ( e == null ? source.isDefaultReadOnly() : e.isReadOnly() ) );
source.setFetchProfile(previousFetchProfile);