public function getType($typeIdentifier) { if (TypeId::isObject($typeIdentifier)) { return $this->getObjectType(TypeId::getClassTypeFromId($typeIdentifier)); } elseif (TypeId::isComposite($typeIdentifier)) { return $this->getCompositeType(array_map([$this, __FUNCTION__], TypeId::getComposedTypeIdsFromId($typeIdentifier))); } else { return $this->getNativeType($typeIdentifier); } }