title: Does "return" stop the execution of a method?
body: <p>I have programmed a method in the following way:</p>
  
  <pre><code>if (something) {
     return 1;
  }
  the rest of the code
  </code></pre>
  
  <p>It seems to me that the method returns 1 and then execute <code>the rest of the code</code>. Can it be the truth? Doesn't <code>return</code> stops the execution of the code. It it is not, how can I force a method to stop?</p>
  
  <p><strong>ADDED</strong></p>
  
  <p>Here is the code (as requested):</p>
  
  <pre><code>    for (int i=availableTime; i&gt;0; i=i-1) {
              final int sec = i;
              SwingUtilities.invokeLater(new Runnable() {
                  public void run() {
                      String lbl = "&lt;html&gt;";
                      lbl += "&lt;/html&gt;";
                      timeLeftLabel.setText(lbl);
              }
              });
              try {Thread.sleep(1000);} catch (InterruptedException e) {}
              parameterFromClientsListener = clientsListener.getValue(userName,parameterToGet);
              if (!parameterFromClientsListener.equals("null")) {
                  output = parameterFromClientsListener;
                  game.log.fine(userName + " set (by button) " + parameterToGet + " to be equal to " + output + " . [IMPORTANT]");
                  return output;
              }
      }
  
      game.log.fine("The partner selection phase is expired.");
      // This code is executed if the Submit button was not pressed and the time run out.
      if (parameterToGet.equals("partner")) {
          tellMyChoice(parameterToGet, this.partnerFromForm, "timer of" + field);
          output = this.partnerFromForm;
      }
      game.log.fine(parameterToGet + " was submitted by timer (not by OK button).");
      } else {
      output = parameterFromClientsListener;
      }
      game.log.fine(userName + " set (by timer)" + parameterToGet + " to be equal to " + output + " . [IMPORTANT]");
      return output;
  }
  </code></pre>
  
  <p>I run this code two times. In every case I generate a log-file. In both log files I see "set (by button)" statement (which is straight before the <code>return</code>). But the problem is that in the second log file I do see "timer of" statement. Which should not be reached if the "set (by button)" is reached. How can it be? I need to mention that "set (by button)" and "timer of" do not occur anywhere else in my code (they occur only once).</p>
  
  <p><strong>ADDED 3</strong></p>
  
  <p>As you can see from the code I do not have the <code>finally</code> statement.</p>