private void checkDirStatusChildren()

in src/main/java/org/apache/sling/fsprovider/internal/FileMonitor.java [205:231]


    private void checkDirStatusChildren(final Monitorable dirMonitorable, final ObservationReporter reporter) {
        final DirStatus ds = (DirStatus) dirMonitorable.status;
        final File[] files = dirMonitorable.file.listFiles();
        if (files != null) {
            final Monitorable[] children = new Monitorable[files.length];
            for (int i = 0; i < files.length; i++) {
                // search in old list
                for (int m = 0; m < ds.children.length; m++) {
                    if (ds.children[m].file.equals(files[i])) {
                        children[i] = ds.children[m];
                        break;
                    }
                }
                if (children[i] == null) {
                    children[i] = new Monitorable(
                            dirMonitorable.path + '/' + files[i].getName(),
                            files[i],
                            contentFileExtensions.getSuffix(files[i]));
                    children[i].status = NonExistingStatus.SINGLETON;
                    check(children[i], reporter);
                }
            }
            ds.children = children;
        } else {
            ds.children = new Monitorable[0];
        }
    }