*سلیب* که در خلوت خود در حال تفکری عمیق درباره اردرهای مختلف بود، به این فکر فرو رفت که متدهایی که پیادهسازی کرده چقدر طول میکشند و چقدر بهینه کد میزند. برای همین سراغ پیادهسازی متدی برای سنجش زمان موردنیاز برای اجرای هر متد خود رفت. در ادامه به توضیح این متد میپردازیم.
# جزئیات پروژه
پروژهی اولیه را از  [این لینک](/contest/assignments/50200/download_problem_initial_project/169412/)  دانلود کنید.
ساختار فایلهای پروژه بهصورت زیر است:
```
execution-time
└── ExecutionTimeCalculator.java
```
شما باید متد `measureExecutionTime` موجود در کلاس `ExecutionTime` را مطابق با خواست سؤال پیادهسازی کنید. امضای این متد بهصورت زیر است:
```java ExecutionTimeCalculator.java java
import java.math.BigDecimal;
public class ExecutionTimeCalculator {
    public static long functionToCall() {
        long returnValue = 0;
        for (long i = 1; i < 1000L * 1000 * 1000 * 10; i++) {
            returnValue += i;
        }
        return returnValue;
    }
    public static BigDecimal measureExecutionTime(Runnable function) {
        // TODO: Implement
        return null;
    }
    public static void main(String[] args) {
        System.out.println(measureExecutionTime(ExecutionTimeCalculator::functionToCall));
    }
}
``` 
این متد باید `Runnable`ای که به آن ورودی داده میشود را اجرا کند و زمان مورد نیاز برای اجرای آن را **با واحد ثانیه** در متغیری از جنس `BigDecimal` **دقیقاً با ۵ رقم پس از اعشار** برگرداند. برای کاهش ارقام اعشار باید عدد را از پنجمین رقم در ممیز گرد کنید (برای این کار، میتوانید از `RoundingMode.HALF_UP` استفاده کنید).
# نکات
+ توجه داشته باشید که خروجی شما **باید دقیقاً شامل ۵ رقم پس از اعشار باشد**.
+ عدد محاسبهشده را باید گرد کنید.
+ زمان محاسبهشده باید **با واحد ثانیه باشد**.
+ متد `run` در شیء `Runnable` متد را اجرا میکند.
# آنچه باید آپلود کنید
پس از پیادهسازی موارد خواستهشده، فایل `ExecutionTimeCalculator.java` را آپلود کنید.