InvocationChain tracks the chain of task invocations to detect circular dependencies.
# File rake/invocation_chain.rb, line 16
def append(value)
if member?(value)
fail RuntimeError, "Circular dependency detected: #{to_s} => #{value}"
end
self.class.new(value, self)
end