@NotNull
 private List<JsExpression> translateArguments() {
   List<JsExpression> result = new ArrayList<JsExpression>();
   ResolvedCall<?> resolvedCall = getResolvedCallForCallExpression(bindingContext(), expression);
   for (ValueParameterDescriptor parameterDescriptor :
       resolvedCall.getResultingDescriptor().getValueParameters()) {
     ResolvedValueArgument actualArgument =
         resolvedCall.getValueArgumentsByIndex().get(parameterDescriptor.getIndex());
     result.addAll(translateSingleArgument(actualArgument, parameterDescriptor));
   }
   return result;
 }
 @Nullable
 private JsExpression getCalleeExpression() {
   if (resolvedCall.getCandidateDescriptor() instanceof ExpressionAsFunctionDescriptor) {
     return Translation.translateAsExpression(getCallee(expression), context());
   }
   return null;
 }
 private CallExpressionTranslator(
     @NotNull JetCallExpression expression, @NotNull TranslationContext context) {
   super(context);
   this.expression = expression;
   this.resolvedCall = getResolvedCallForCallExpression(bindingContext(), expression);
   this.isNativeFunctionCall =
       AnnotationsUtils.isNativeObject(resolvedCall.getCandidateDescriptor());
 }