This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
addHeader & setHeader work like this... If "a" DOES NOT exist then "a" is set (NOTE here I have used SET... simple...). If "a" DOES exist then addHeader ADDS (menas add the existing value) but the setHeader SETS (means overwrite existing value). So the answer will be "c", since last statement is setHeader("a", "c"); Had it been like addHeader("a", "c"); then outcome would be "abc".