public void separateIncomeAndExpense() {
   CategoryTree<Category> newCategories = new CategoryTree<Category>();
   Category income = new Category();
   income.id = INCOME_CATEGORY_ID;
   income.makeThisCategoryIncome();
   income.title = "<INCOME>";
   Category expense = new Category();
   expense.id = EXPENSE_CATEGORY_ID;
   expense.makeThisCategoryExpense();
   expense.title = "<EXPENSE>";
   for (Category category : categories) {
     if (category.id <= 0) {
       newCategories.add(category);
     } else {
       if (category.isIncome()) {
         income.addChild(category);
       } else {
         expense.addChild(category);
       }
     }
   }
   if (income.hasChildren()) {
     newCategories.add(income);
   }
   if (expense.hasChildren()) {
     newCategories.add(expense);
   }
   categories = newCategories;
 }