public function get($columns = array('*'))
    {

        $columnsPassed = (func_num_args() > 1);

        $columns = $columnsPassed ? $columns : $this->getQueryColumns();

        $query = $this->buildQuery($columns);

        if (!$columnsPassed) {
            // addJoinOnce adds queryColumns again...
            return $query->get($this->getQueryColumns());
        }

        if (!$columns) {
            return $query->get();
        }

        return $query->get($columns);

    }