javax.swing.filechooser.FileSystemViewのgetSystemIcon(File file)を
使ってファイルシステムアイコンを取得しようとしているのですが、
最初の数百回は正しくアイコンを取得できるものの、500回前後取得を繰り返すと
正しく取得できなくなります。
具体的には下記のプログラムを実行すると、始めのうちはアイコンが正しく取得され
"MS-DOS バッチ ファイル" と表示されるものの500回前後で
"javax.swing.plaf.metal.MetalIconFactory$TreeLeafIcon@6b13c7"
となってしまいます。
1度こうなってしまうと他のファイル(下の例ではAutoexec.bat以外)でも
正しくアイコンが取得できなくなってしまいます。
また、プログラムを実行するたびに正しく取得できなくなる回数が微妙に変わります。
原因が一切不明で解決策がわかりません。
原因or解決策がわかる方、教えて頂けないでしょうか?

環境:
Windows98 SE
JDK 1.4
//テストプログラム
import java.io.*;
import javax.swing.filechooser.*;
import javax.swing.*;
class FileIcon{
public static void main(String[] argv){
FileSystemView view = FileSystemView.getFileSystemView();
File file = new File("C:\\Autoexec.bat");
Icon icon;
for(int i= 0; i < 1000; i++){
icon = view.getSystemIcon(file);
System.out.println(i + " "+ icon);
}
}
}