@Override
 public int getChildCount() {
   int count = 0;
   for (MyMutableTreeNode node : children) {
     if (node.isVisible()) {
       count++;
     }
   }
   return count;
 }
 @Override
 public TreeNode getChildAt(int childIndex) {
   int count = -1;
   for (MyMutableTreeNode node : children) {
     if (node.isVisible()) {
       count++;
     }
     if (count == childIndex) {
       return node;
     }
   }
   return null;
 }