Creates a managed reference to an object, storing the object in the data manager if it is
transient. Applications should use managed references when a managed object refers to another managed object, either directly or indirectly through non-managed objects.
@param < T> the type of the object
@param object the object
@return the managed reference
@throws IllegalArgumentException if
object
does notimplement both {@link ManagedObject} and {@link Serializable}
@throws ObjectNotFoundException if the object has been removed
@throws TransactionException if the operation failed because of aproblem with the current transaction