public function execute() {
        $statement = $this->buildStatement();
        $result = $this->getDataSource()->query($statement, $this->getBindValues());

        if ($result) {
            $collection = new Collection($this->getMapper()->getClass(), $result, $this->getMapper());
        } else {
            $collection = new Collection($this->getMapper()->getClass(), array(), $this->getMapper());
        }
        return $collection;
    }