@Override
    protected IStatus run(IProgressMonitor monitor) {

      for (Sub sub : subs) {
        String[] leafIds = Client.getLeavesArray(sub.id());

        Leaf[] leaves = new Leaf[leafIds.length];
        for (int i = 0; i < leafIds.length; i++) {
          leaves[i] = new Leaf(leafIds[i]);
        }
        sub.leaves(leaves);
      }

      synchronized (refreshList) {
        fetched = true;
      }

      refresh();

      return Status.OK_STATUS;
    }