protected PsiElement[] serviceGoToDeclaration(PsiElement psiElement, String serviceId) { serviceId = YamlHelper.trimSpecialSyntaxServiceName(serviceId).toLowerCase(); String serviceClass = ContainerCollectionResolver.resolveService(psiElement.getProject(), serviceId); if (serviceClass != null) { PsiElement[] targetElements = PhpElementsUtil.getClassInterfacePsiElements(psiElement.getProject(), serviceClass); if (targetElements.length > 0) { return targetElements; } } // get container target on indexes List<PsiElement> possibleServiceTargets = ServiceIndexUtil.findServiceDefinitions(psiElement.getProject(), serviceId); return possibleServiceTargets.toArray(new PsiElement[possibleServiceTargets.size()]); }