public function getAttributeConditions($attributeName, $unindexablePredicates = false)
    {
        return array_filter(
            $this->parts,
            function (Condition $part) use ($attributeName, $unindexablePredicates) {
                if ($part instanceof self) {
                    return $part->getAttributeConditions($attributeName, $unindexablePredicates);
                }

                return !$unindexablePredicates && in_array($attributeName, $part->getAttributes());
            }
        );
    }