private static function sortDataProperties(array $dataProperties): array
	{
		$inherited = [];
		$own = [];

		$calledClassName = static::class;

		foreach ($dataProperties as $property) {
			$propertyClass = $property->getDeclaringClass();
			$propertyClassName = $propertyClass->getName();

			if ($propertyClassName === $calledClassName) {
				$own[] = $property;
			} else {
				$inherited[] = $property;
			}
		}

		return array_merge($inherited, $own);
	}