public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext) { IMethodReturn methodReturn; try { timeLock = TimedLock.Lock(input.Target, new TimeSpan(0,0,0,0,FromMilliseconds)); methodReturn = getNext().Invoke(input, getNext); } finally { timeLock.Dispose(); } return methodReturn; }