public function getSearchFields()
    {
        $searchFields = array();

        // return false if nothing is specified
        if (!isset($this->entitySearchFields) and !isset($this->suppliedSearchFields)) {
            return false;
        }

        // list supplied first so it will get overwritten by entity
        $sources = array(
            'suppliedSearchFields',
            'entitySearchFields'
        );

        foreach ($sources as $source) {
            if (isset($this->$source)) {
                foreach ($this->$source as $key => $value) {
                    $searchFields[$key] = $value;
                }
            }
        }

        return $searchFields;
    }