private function resolveCasterClassName($type) {
        foreach($this->casters as $typeNames => $casterClass) {
            $names = explode('|', $typeNames);

            if(!in_array($type, $names)) {
                continue;
            }

            return $casterClass;
        }
        
        throw CasterException::unresolvableType($type);
    }