code: public static OperationInvoker apply(OperationInvoker invoker, long timeToLive) {
  		if (timeToLive > 0) {
  			return new CachingOperationInvoker(invoker, timeToLive);
  		}
  		return invoker;
  	}
docs: Apply caching configuration when appropriate to the given invoker.
  @param invoker the invoker to wrap
  @param timeToLive the maximum time in milliseconds that a response can be cached
  @return a caching version of the invoker or the original instance if caching is not
  required