public List<TreeItem> getItems(){
        if(filter != null && filter.items != null){
            return new ArrayList<TreeItem>(filter.items);
        }
        
        List<TreeItem> result = new ArrayList<TreeItem>();
        Enumeration e = getRoot().breadthFirstEnumeration();
        e.nextElement();
        while(e.hasMoreElements()){
            result.add((TreeItem) e.nextElement());
        }
        return result;
    }