* @throws GridException If failed.
*/
@Nullable public GridFuture<Boolean> addEntry(long msgId, GridCacheTxEntry<K, V> e) throws GridException {
init();
GridCacheTxState state = state();
assert state == ACTIVE || (state == PREPARING && optimistic()) : "Invalid tx state for " +
"adding entry [msgId=" + msgId + ", e=" + e + ", tx=" + this + ']';
e.unmarshal(cctx, cctx.deploy().globalLoader());