@Override
  public Result calculateResult(Expression @NotNull [] params, final ExpressionContext context) {
    PsiElement place = context.getPsiElementAtStartOffset();
    while(place != null){
      if (place instanceof PsiMethod){
        List<Result> result = new ArrayList<>();
        Project project = place.getProject();
        for (PsiParameter parameter : ((PsiMethod)place).getParameterList().getParameters()) {
          result.add(new PsiTypeResult(parameter.getType(), project));
        }
        return new ListResult(result);
      }
      place = place.getParent();
    }
    return null;
  }
@Override
  public Result calculateResult(Expression @NotNull [] params, final ExpressionContext context)