snapshot = snapshot.scan();
assertEquals(Collections.<String, Change>emptyMap(), snapshot.getChanges());
//
String[] bar = fs.makePath(foo, "bar.txt");
fs.updateResource(bar, new Resource(""));
waitForOneMillis();
snapshot = snapshot.scan();
assertEquals(Collections.singletonMap("/foo/bar.txt", Change.ADD), snapshot.getChanges());
waitForOneMillis();
snapshot = snapshot.scan();
assertEquals(Collections.<String, Change>emptyMap(), snapshot.getChanges());
//
fs.updateResource(bar, new Resource("value"));
waitForOneMillis();
snapshot = snapshot.scan();
assertEquals(Collections.singletonMap("/foo/bar.txt", Change.UPDATE), snapshot.getChanges());
//