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()]);
  }