private byte[] acquireState(Fqn fqn) throws CacheException
{
// Call _getState with progressively longer timeouts until we
// get state or it doesn't throw a TimeoutException
long[] timeouts = {400, 800, 1600, configuration.getStateRetrievalTimeout()};
TimeoutException timeoutException = null;
for (int i = 0; i < timeouts.length; i++)
{
boolean force = (i == timeouts.length - 1);