public LifeCycleState transitionReadField(StateManager sm, boolean isLoaded)
{
Transaction tx = sm.getObjectManager().getTransaction();
if (!tx.isActive() && !tx.getNontransactionalRead())
{
throw new TransactionNotReadableException(LOCALISER.msg("027000"), sm.getInternalObjectId());
}
else if (!tx.isActive() && sm.getClassMetaData().getIdentityType() == IdentityType.NONDURABLE)
{
// JDO2 spec 5.4.4
throw new NucleusUserException("Not able to read fields of nondurable object when in HOLLOW state");