/**
  * Creates and returns a node with the given properties
  *
  * @param array $properties
  *
  * @return Node
  */
 protected function createNode(array $aProperties)
 {
     if ($aProperties['id'] !== 1) {
         $oNode = new AccountNode($aProperties['id'], $aProperties['parent'], $aProperties['account_number'], $aProperties['account_name'], $aProperties['account_name_slug'], $aProperties['hide_ui'], $aProperties['is_debit'], $aProperties['is_credit']);
         if (true === array_key_exists('balance', $aProperties)) {
             $oNode->setBasicBalance($aProperties['balance']);
         }
         return $oNode;
     } else {
         return parent::createNode($aProperties);
     }
 }