public static function isComposite($id)
{
return strpos($id, 'composite<') === 0 && $id[strlen($id) - 1] === '>';
}
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); } }