@Ignore
@Test
public void innerInnersFirst() throws IOException {
TestFileChangeListener listener = new TestFileChangeListener();
File dir = getTempDir();
FileSystemWatcher watcher = new FileSystemWatcher(listener, -1, "test");
pause(1000);
File f1 = create(dir, "Book$1.class");
watcher.register(f1);
pause(1100);
File f2 = create(dir, "Book.class");
watcher.register(f2);
pause(1100);
File f3 = create(dir, "Book$_2.class");
watcher.register(f3);
pause(1100);
File f4 = create(dir, "Book$Foo.class");
watcher.register(f4);
pause(1100);
File f5 = create(dir, "Book$Foo$1.class");
watcher.register(f5);
pause(1100);
watcher.setPaused(true);
// Whilst paused, touch both files
touch(f5);
touch(f4);
touch(f3);
touch(f2);
touch(f1);
watcher.setPaused(false);
pause(1100);
watcher.shutdown();
// Check that inners reported first
System.out.println(listener.changesDetected);
assertEquals("Book$1.class", listener.changesDetected.get(0));
assertEquals("Book$Foo$1.class", listener.changesDetected.get(1));
assertEquals("Book$Foo.class", listener.changesDetected.get(2));