يتم إعطاؤك مقتطف التعليمات البرمجية الذي يحدد واجهة تسمى `IRunnable` باستخدام طريقة واحدة `Run`. يأخذ الأسلوب "Run" معلمتين: كائن "Node" يسمى "root" وكائن "IDiagnostics" يسمى "diagnostics". مهمتك هي تنفيذ فئة تنفذ واجهة "IRunnable" وتوفر تنفيذًا ملموسًا لأسلوب "Run".

تمثل فئة `Node` عقدة في بنية بيانات ولم يتم تعريفها في مقتطف التعليمات البرمجية المحدد. تحتاج إلى تحديد فئة "العقدة" بنفسك. تمثل فئة `IDiagnostics` خدمة تشخيص ولم يتم تعريفها أيضًا في مقتطف الكود المحدد. لا تحتاج إلى تحديد فئة "IDiagnostics"، حيث سيتم توفيرها لك أثناء الاختبار.

يجب أن يلتزم تنفيذك بالمواصفات التالية:
- يجب أن تكون طريقة "التشغيل" فارغة ويجب ألا تُرجع أي قيمة.
- يجب أن تأخذ طريقة "التشغيل" العقدة "الجذر" كمدخل وتجري بعض العمليات عليها وفقًا لمتطلبات المشكلة.
- يجب استخدام كائن "التشخيص" لتسجيل أي رسائل تشخيصية أثناء تنفيذ أسلوب "التشغيل". يجب عليك استخدام طريقة "السجل" التي يوفرها كائن "التشخيصات" لتسجيل الرسائل. تأخذ طريقة "السجل" معلمة سلسلة واحدة تمثل الرسالة المراد تسجيلها.

اكتب فصلًا يطبق واجهة "IRunnable" ويقدم تطبيقًا ملموسًا لأسلوب "Run" لحل المشكلة المطروحة.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}