Java boolean parameter changes its value w/o any assignment
<p>today I had a very embarrassing experience.
I just called Push.payload() method like this.</p>

<pre><code>Push.payload(payload, keystore, password, production, token);
</code></pre>

<p>(In fact, this code snippet is part of javaPNS)
And Push.payload() is just</p>

<pre><code>public static PushedNotifications payload(Payload payload, Object keystore, String password, boolean production, Object devices) throws CommunicationException, KeystoreException {
    return sendPayload(payload, keystore, password, production, devices);
}
</code></pre>

<p>production value was true when I called Push.payload(), and there is no assignment except its declaration.</p>

<pre><code>private static final boolean production = true;
</code></pre>

<p>Of course I checked that its value is true before step in Push.payload() in debug mode. HOWEVER, in Push.payload() method, the production value turns into false!!</p>

<p>I don't know what happened. Please explain why the production value changed to false.</p>

<p>Thanks in advance.</p>
