// if 'recursively' is False, only immediate children count, otherwise
// the returned number is the number of all items in this branch
// if 'recursively' is False, only immediate children count, otherwise
// the returned number is the number of all items in this branch