Maximum modulus principle for several variables The goal is to prove the following.

Theorem : Let $f: U \subset \mathbb{C}^n \to \mathbb{C}$ be a holomorphic function and $w=(w_1,...,w_n)\in U$ such that $w$ is a local maximum for $|f|$. Then there exists a polydisc $D=D_1 \times ... \times D_n$ around $w$ such that $f$ is constant on $D$. 

My approach was to rewrite $f=(f_1,...,f_n)$ with $f_i : U_i \subset \mathbb{C} \to \mathbb{C}$ all holomorphic such that the $|f_i|$ admit $w_i$ as a maximum on some $D_i \subset U_i$ for all $i=1,...,n$. By the usual maximum modulus principle the $f_i$ would be constant on $D_i$ for all $i$, and it would follow that $f$ is constant on $D=D_1 \times ... \times D_n$. 
However, actually finding the functions $f_i$ has proven to be more difficult than expected, which makes me suspect that this very naive approach maybe isn't the best one. Any help in the right direction would be appreciated.
 A: The thing that can be confusing about the "naive" approach is that you may accidentally only show that the function is constant on coordinate lines through $w$ (this is what I did at first). So you need an additional idea.
Let's go through it:
Recall that a holomorphic function $f: U \subset \mathbb{C}^n \to \mathbb{C}$ of several variables is one that is continuous, and which has, for all $a = (a_1, \ldots, a_n) \in U$, $f(a_1, \ldots, a_i + z_i, \ldots, a_n) = f_{i,a}(z_i)$ is holomorphic (as a function of the single variable $z_i$).
Suppose that you have found a point $a$ so that $|f|$ attains a local maximum at $a$. Then $|f_{i,a}|$ each attain a local maximum at $a$, hence $f_{i,a}$ is constant (in the component of $U_i \cap V(z_j = a_j, j \not = i)$ containing $a$) by the one dimensional theory.
At this point we have shown that $f$ is along the coordinate lines.
How can we fix this? The idea is that, instead of studying each axis separately, steadily build up the variables that we know $f$ is constant in.
Assume that $U$ of $a$ is a neighborhood so that $f(a)$ is the maximum value in this neighborhood.
Consider first $f_1(z) = f(z,a_2, \ldots, a_n)$. This achieves its maximum at $z = a_1$, and is therefore constant. Since $f_1$ is constant, if $a_1'$ is near $a_1$, then $f(a_1',a_2, \ldots,a_n) = f_1(a_1') = f_1(a_1) = f(a_1, \ldots, a_n)$. 
Thus, $f$ also achieves its maximum at $f(a_1', a_2, \ldots, a_n)$. Hence, $f_2(z) = f(a_1', z, a_3, \ldots)$ achieves its maximum at $z = a_2$, and so $f_2$ is constant by the one dimensional theory. 
Together, these show that $f(z_1, z_2, a_3, \ldots, a_n)$ is constant in a neighborhood of $(a_1, a_2)$.
Now we have the freedom to adjust both $a_1$ and $a_2$ a little bit, and we can finish the proof by induction.
Actually this is explained, probably better than I am explaining it, in these notes: http://www.jirka.org/scv/scv.pdf
