public function findObjectType($id)
    {
        $result = [];

        if ($this->getObjectType()->getPropertyDefinition($id) !== null) {
            $result[] = $this->getObjectType();
        }

        $secondaryTypes = $this->getSecondaryTypes();
        if ($secondaryTypes !== null) {
            foreach ($secondaryTypes as $secondaryType) {
                if ($secondaryType->getPropertyDefinition($id) !== null) {
                    $result[] = $secondaryType;
                }
            }
        }

        return empty($result) ? null : $result;
    }