class GroupZipper {

    public GroupZipper down() {
        if (!canDown()) {
            throw new NoSuchElementException("Could not move down because this group does not have any children");
        }

        parent = new GroupZipper(parent, node, index);
        index = 0;
        node = node.getGroups().get(0);

        return this;
    }

    public  GroupZipper(KeePassFile keePassFile);
    private  GroupZipper(GroupZipper parent, Group group, int index);

}