TXStateProxyImpl implements TXStateProxy { @Override public InternalCache getCache() { return cache; } TXStateProxyImpl(InternalCache cache, TXManagerImpl managerImpl, TXId id,
      InternalDistributedMember clientMember, StatisticsClock statisticsClock);  TXStateProxyImpl(InternalCache cache, TXManagerImpl managerImpl, TXId id, boolean isjta,
      StatisticsClock statisticsClock); @Override ReentrantLock getLock(); @Override TXId getTxId(); @Override TXManagerImpl getTxMgr(); TXStateInterface getRealDeal(KeyInfo key, InternalRegion r); TXStateInterface getRealDeal(DistributedMember t); @Override boolean isOnBehalfOfClient(); @Override void setIsJTA(boolean isJTA); @Override void checkJTA(String errmsg); @Override void precommit(); @Override void commit(); @Override boolean containsValueForKey(KeyInfo keyInfo, LocalRegion region); @Override void destroyExistingEntry(EntryEventImpl event, boolean cacheWrite,
      Object expectedOldValue); @Override long getBeginTime(); @Override InternalCache getCache(); @Override int getChanges(); @Override Object getDeserializedValue(KeyInfo keyInfo, LocalRegion localRegion, boolean updateStats,
      boolean disableCopyOnRead, boolean preferCD, EntryEventImpl clientEvent,
      boolean returnTombstones, boolean retainResult, boolean createIfAbsent); @Override Entry getEntry(KeyInfo keyInfo, LocalRegion region, boolean allowTombstones); @Override TXEvent getEvent(); @Override List getEvents(); @Override Collection<InternalRegion> getRegions(); @Override TransactionId getTransactionId(); @Override void invalidateExistingEntry(EntryEventImpl event, boolean invokeCallbacks,
      boolean forceNewEntry); @Override boolean isInProgress(); @Override void setInProgress(boolean progress); @Override boolean needsLargeModCount(); @Override int nextModSerialNum(); @Override TXRegionState readRegion(InternalRegion r); @Override void rmRegion(LocalRegion r); @Override void rollback(); @Override boolean txPutEntry(EntryEventImpl event, boolean ifNew, boolean requireOldValue,
      boolean checkResources, Object expectedOldValue); @Override TXEntryState txReadEntry(KeyInfo keyInfo, LocalRegion localRegion, boolean rememberRead,
      boolean createTxEntryIfAbsent); @Override TXRegionState txReadRegion(InternalRegion internalRegion); @Override TXRegionState txWriteRegion(InternalRegion internalRegion, KeyInfo entryKey); @Override TXRegionState writeRegion(InternalRegion r); @Override void afterCompletion(int status); @Override void beforeCompletion(); @Override boolean containsKey(KeyInfo keyInfo, LocalRegion localRegion); @Override @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "UL_UNRELEASED_LOCK", justification = "This method unlocks and then conditionally undoes the unlock in the finally-block. Review again at later time.") int entryCount(LocalRegion localRegion); @Override Object findObject(KeyInfo key, LocalRegion r, boolean isCreate, boolean generateCallbacks,
      Object value, boolean disableCopyOnRead, boolean preferCD,
      ClientProxyMembershipID requestingClient, EntryEventImpl clientEvent,
      boolean returnTombstones); @Override Set getAdditionalKeysForIterator(LocalRegion currRgn); @Override Object getEntryForIterator(KeyInfo key, LocalRegion currRgn, boolean rememberReads,
      boolean allowTombstones); @Override Object getKeyForIterator(KeyInfo keyInfo, LocalRegion currRgn, boolean rememberReads,
      boolean allowTombstones); @Override Object getValueInVM(KeyInfo keyInfo, LocalRegion localRegion, boolean rememberRead); @Override boolean isDeferredStats(); @Override boolean putEntry(EntryEventImpl event, boolean ifNew, boolean ifOld,
      Object expectedOldValue, boolean requireOldValue, long lastModified,
      boolean overwriteDestroyed); @Override boolean putEntry(EntryEventImpl event, boolean ifNew, boolean ifOld,
      Object expectedOldValue, boolean requireOldValue, long lastModified,
      boolean overwriteDestroyed, boolean invokeCallbacks, boolean throwConcurrentModification); @Override boolean isInProgressAndSameAs(TXStateInterface otherState); @Override void setLocalTXState(TXStateInterface state); @Override Object getSerializedValue(LocalRegion localRegion, KeyInfo key, boolean doNotLockEntry,
      ClientProxyMembershipID requestingClient, EntryEventImpl clientEvent,
      boolean returnTombstones); @Override boolean putEntryOnRemote(EntryEventImpl event, boolean ifNew, boolean ifOld,
      Object expectedOldValue, boolean requireOldValue, long lastModified,
      boolean overwriteDestroyed); @Override boolean isFireCallbacks(); @Override void destroyOnRemote(EntryEventImpl event, boolean cacheWrite, Object expectedOldValue); @Override void invalidateOnRemote(EntryEventImpl event, boolean invokeCallbacks,
      boolean forceNewEntry); @Override void checkSupportsRegionDestroy(); @Override void checkSupportsRegionInvalidate(); @Override void checkSupportsRegionClear(); @Override Set getBucketKeys(LocalRegion localRegion, int bucketId, boolean allowTombstones); @Override Entry getEntryOnRemote(KeyInfo keyInfo, LocalRegion localRegion, boolean allowTombstones); void forceLocalBootstrap(); @Override DistributedMember getTarget(); @Override void setTarget(DistributedMember target); @Override Collection<?> getRegionKeysForIteration(LocalRegion currRegion); @Override boolean isCommitOnBehalfOfRemoteStub(); @Override boolean setCommitOnBehalfOfRemoteStub(boolean requestedByOwner); @Override boolean isRealDealLocal(); TXState getLocalRealDeal(); boolean hasRealDeal(); @Override String toString(); @Override InternalDistributedMember getOriginatingMember(); @Override boolean isMemberIdForwardingRequired(); @Override TXCommitMessage getCommitMessage(); @Override void postPutAll(DistributedPutAllOperation putallOp, VersionedObjectList successfulPuts,
      InternalRegion reg); @Override void postRemoveAll(DistributedRemoveAllOperation op, VersionedObjectList successfulOps,
      InternalRegion reg); @Override boolean isJCATransaction(); @Override void setJCATransaction(); @Override Entry accessEntry(KeyInfo keyInfo, LocalRegion region); @Override void suspend(); @Override void resume(); @Override void recordTXOperation(ServerRegionDataAccess region, ServerRegionOperation op, Object key,
      Object arguments[]); @Override int operationCount(); void incOperationCount(); @Override void updateEntryVersion(EntryEventImpl event); @Override void close(); @Override boolean isTxState(); @Override boolean isTxStateStub(); @Override boolean isTxStateProxy(); @Override boolean isDistTx(); @Override boolean isCreatedOnDistTxCoordinator(); @Override void updateProxyServer(InternalDistributedMember proxy); boolean isOverTransactionTimeoutLimit(); synchronized void setLastOperationTimeFromClient(long lastOperationTimeFromClient); @Override InternalDistributedMember getOnBehalfOfClientMember();  }
@Test public void getCacheReturnsInjectedCache() { TXStateProxyImpl tx = new TXStateProxyImpl(cache, txManager, txId, false, disabledClock()); assertThat(tx.getCache()).isSameAs(cache); }