title: java.io.File.isFile() returns different values in different threads
body: <p>I have some code execution I want to run at a delayed time. (Lets say after 10s). In this code execution I need to check whether the provided files are indeed "normal" files and not for example directories.</p>
  
  <pre><code>    for (File f : pAttachments) {
          f.isFile(); // returns true, if file is a "normal" file
      }
  
      Timer tx = new java.util.Timer();
      tx.schedule(new java.util.TimerTask() {
          @Override
          public void run() {
              for (File f : pAttachments) {
                  f.isFile(); // returns false, even if file is a "normal" file
              }
              tx.cancel();
          }
      }, 10000);
  </code></pre>
  
  <p>What I expected was that the execution in the timer would behave like the outer execution but this is not the case. Is there a reason for this behavior?</p>