code: @SuppressWarnings("unchecked")
  	public Object invoke(Object object) throws Exception {
  		if (object == null) throw new NullPointerException("object");
  
  		for (Invocation invocation : toChain()) {
  			MethodDescriptor<Object, Object> unchecked =
  					(MethodDescriptor<Object, Object>) invocation.method;
  			object = unchecked.invoke(object, invocation.getArgsWithDefaults());
  		}
  
  		return object;
  	}
docs: Invokes this invocation chain on an object.