public abstract @NonNull VirtualFile[] list() throws IOException;
@Test
    public void simpleList_AbstractBase() throws Exception {
        // This test checks the method's behavior in the abstract base class,
        // which has limited behavior.
        prepareFileStructureForIsDescendant(tmp.getRoot());

        File root = tmp.getRoot();
        VirtualFile virtualRoot = new VirtualFileMinimalImplementation(root);
        List<VirtualFile> children = Arrays.asList(virtualRoot.list());
        assertThat(children, hasSize(2));
        assertThat(children, containsInAnyOrder(
                VFMatcher.hasName("a"),
                VFMatcher.hasName("b")
        ));
    }