@Nullable
  @Override
  public PsiElement getGotoDeclarationTarget(@Nullable PsiElement sourceElement, Editor editor) {
    Property property = findProperty(sourceElement);
    if (property == null) return null;
    final String key = property.getKey();
    if (key == null) return null;
    PropertiesFile currentFile = PropertiesImplUtil.getPropertiesFile(property.getContainingFile());
    if (currentFile == null) return null;

    do {
      currentFile = PropertiesUtil.getParent(currentFile, currentFile.getResourceBundle().getPropertiesFiles());
      if (currentFile != null) {
        final IProperty parent = currentFile.findPropertyByKey(key);
        if (parent != null) return parent.getPsiElement();
      } else {
        return null;
      }
    }
    while (true);
  }
@Nullable
  @Override
  public PsiElement getGotoDeclarationTarget(@Nullable PsiElement sourceElement, Editor editor)