public function toArray()
    {
        $aReturn = array();

        foreach (get_object_vars($this) as $sKey => $mValue) {
            if (is_object($mValue) and true === method_exists($mValue, 'toArray')) {
                $aReturn[$sKey] = $mValue->toArray();
            } else {
                $aReturn[$sKey] = $mValue;
            }
        }

        return $aReturn;
    }