protected function processCollectionType($collection, $collectionKeys) {
		$result = [];
		foreach ($collectionKeys as $collectionKey) {
			array_push($this->propertyPath, $collectionKey);

			$value = ObjectAccess::getProperty($collection, $collectionKey);
			$result[$collectionKey] = $this->processInternal($value);

			array_pop($this->propertyPath);
		}
		return $result;
	}