Get the class this property appears in (vs is declared in, which could give a trait)

@param  string $property_id

@return string|null
492883
public function getAppearingClassForProperty($property_id, bool $read_mode)
    {
        list($fq_class_name, $property_name) = explode('::$', $property_id);

        if ($this->property_existence_provider->has($fq_class_name)) {
            if ($this->property_existence_provider->doesPropertyExist(
                $fq_class_name,
                $property_name,
                $read_mode,
                null,
                null
            )) {
                return $fq_class_name;
            }
        }

        $class_storage = $this->classlike_storage_provider->get($fq_class_name);

        if (isset($class_storage->appearing_property_ids[$property_name])) {
            $appearing_property_id = $class_storage->appearing_property_ids[$property_name];

            return explode('::$', $appearing_property_id)[0];
        }
    }
328865
public function getFirstDescendant($class_name)
    {
        if (!class_exists($class_name) && !interface_exists($class_name)) {
            return null;
        }

        $out = null;

        foreach ($this->fields as $field) {
            if ($field instanceof $class_name) {
                $out = $field;
                break;
            }

            if ($field instanceof SwatUIParent) {
                $out = $field->getFirstDescendant($class_name);
                if ($out !== null) {
                    break;
                }
            }
        }

        return $out;
    }
931679
public function getFirstDescendant($class_name)
    {
        if (!class_exists($class_name) && !interface_exists($class_name)) {
            return null;
        }

        $out = null;

        if ($this->widget instanceof $class_name) {
            $out = $this->widget;
        }

        if ($out === null && $this->widget instanceof SwatUIParent) {
            $out = $this->widget->getFirstDescendant($class_name);
        }

        return $out;
    }
624337
def GetUcsPropertyMeta(classId, key):
		
		if classId in _ManagedObjectMeta:
			if key in _ManagedObjectMeta[classId]:
				return _ManagedObjectMeta[classId][key]
		return None
275073
public function get($property_name = null)
    {
        if (!isset($property_name)) {
            return $this->property_values;
        }

        // @todo: This probably needs a refactor.
        // If this is a component itself just return the component.
        if (isset($this->property_values->$property_name)
            && is_object($this->property_values->$property_name)
            && get_class($this) == get_class($this->property_values->$property_name)) {
            return $this->property_values->$property_name;
        }
        // If this property is a component itself, just return it's get() method.
        if (isset($this->property_values->$property_name)
            && is_object($this->property_values->$property_name)
            && $this->property_values->$property_name instanceof PropertyInterface) {
            return $this->property_values->$property_name->get();
        } elseif (isset($this->property_values->$property_name)) {
            return $this->property_values->$property_name;
        }

        return;
    }
257892
public function getReportingLevelForProperty($property_id)
    {
        foreach ($this->custom_levels as $custom_level) {
            if ($custom_level->allowsProperty($property_id)) {
                return $custom_level->getErrorLevel();
            }
        }
    }
312015
private function getPropertyInfo(string $propertyName, string $className, int $specVersion = 2): stdClass
    {
        foreach ($this->getProperties($className, $specVersion) as $classPropertyName => $property) {
            if ($classPropertyName === $propertyName) {
                return $property;
            }
        }

        throw new \InvalidArgumentException(sprintf('The property "%s" for the class "%s" doesn\'t exist.', $propertyName, $className));
    }
784947
private function findOriginalPropertyByModelId($propertyName)
    {
        if (null === $propertyName) {
            return null;
        }

        $inputProvider  = $this->getEnvironment()->getInputProvider();
        $sessionStorage = $this->getEnvironment()->getSessionStorage();

        $selectAction = $inputProvider->getParameter('select');

        $session = $sessionStorage->get($this->getEnvironment()->getDataDefinition()->getName() . '.' . $selectAction);

        $originalPropertyName = null;
        foreach ($session['models'] as $modelId) {
            if (null !== $originalPropertyName) {
                break;
            }

            $propertyNamePrefix = \str_replace('::', '____', $modelId) . '_';
            if (0 !== strpos($propertyName, $propertyNamePrefix)) {
                continue;
            }

            $originalPropertyName = \substr($propertyName, \strlen($propertyNamePrefix));
        }

        $propertiesDefinition = $this->getEnvironment()->getDataDefinition()->getPropertiesDefinition();
        if (!$propertiesDefinition->hasProperty($originalPropertyName)) {
            return null;
        }

        return $propertiesDefinition->getProperty($originalPropertyName);
    }
1042936
protected function getPluginClass($id)
    {
        return isset($this->pluginClasses[$id]) ? $this->pluginClasses[$id] : null;
    }
936793
public function get($imagestyle_id)
    {
        $result = null;
        $this->hook->attach('image.style.get.before', $imagestyle_id, $result, $this);

        if (isset($result)) {
            return (array) $result;
        }

        $imagestyles = $this->getList();
        $result = isset($imagestyles[$imagestyle_id]) ? $imagestyles[$imagestyle_id] : array();
        $this->hook->attach('image.style.get.after', $imagestyle_id, $result, $this);
        return (array) $result;
    }
142902
public static String getColumnFromProperty(Class<?> clazz, String propertyName)
   {
      return Introspector.getIntrospected(clazz).getColumnNameForProperty(propertyName);
   }
1136445
private <T> T getTyped(PropertyKey key, Class<T> clazz) {
        Property p = getProperty(key.m_key);
        
        if (null == p || null == p.getData()) {
            return clazz.cast(m_defaults.get(key));
        }

        return clazz.cast(p.getData());
    }
978180
public function getClass(): string
    {
        if ($this->property->getClass() !== null) {
            return $this->property->getClass()->getName();
        }

        return '';
    }
529438
public function getAppearingMethodId($method_id)
    {
        $method_id = strtolower($method_id);

        list($fq_class_name, $method_name) = explode('::', $method_id);

        $fq_class_name = $this->classlikes->getUnAliasedName($fq_class_name);

        $class_storage = $this->classlike_storage_provider->get($fq_class_name);

        if (isset($class_storage->appearing_method_ids[$method_name])) {
            return $class_storage->appearing_method_ids[$method_name];
        }
    }
26369
def find_class(self):
        """"""
        if self.value <= 1:
            return InstructionsProperty
        elif self.value <= 3:
            return NextTablesProperty
        elif self.value <= 7:
            return ActionsProperty

        return OxmProperty
701994
public function getBaseTypeId()
    {
        $value = $this->getFirstValue(PropertyIds::BASE_TYPE_ID);
        if (is_string($value)) {
            try {
                return BaseTypeId::cast($value);
            } catch (InvalidEnumerationValueException $e) {
                // invalid base type -> return null
            }
        }

        return null;
    }
533513
public function getPropertyDefinition($id)
    {
        return (isset($this->propertyDefinitions[$id]) ? $this->propertyDefinitions[$id] : null);
    }