public function find($type = null, array $options = [])
{
$type = $type ?: $this->finder();
list($type, $opts) = $this->_extractFinder($type);
$query = $this->target()->find($type, $options + $opts)->where($this->targetConditions());
if (!$this->junctionConditions()) {
return $query;
}
$belongsTo = $this->junction()->association($this->target()->alias());
$conditions = $belongsTo->_joinCondition(['foreignKey' => $this->targetForeignKey()]);
$conditions += $this->junctionConditions();
return $this->_appendJunctionJoin($query, $conditions);
}