public function findObjects($identifier, $data, $filter)
    {
        $objects = DataList::create($this->getClass());
        
        if (!$objects->exists() && $this->config()->filter_by_base_class) {
            $objects = DataList::create($this->getBaseClass());
        }
        
        if (is_array($filter)) {
            $objects = $objects->filter($filter);
        }
        
        if (isset($data[$this->getMatchOnName()])) {
            return $this->matchObjects($objects, $data);
        }
        
        if ($field = $this->getDefaultIdentifier()) {
            return $objects->filter($field, $identifier);
        }
        
        $title = $this->getIdentifierOrTitle($identifier, $data);
        
        return $objects->filterByCallback(function ($item, $list) use ($title) {
            return ($item->Title == $title);
        });
    }