لقد تم إعطاؤك مقتطف رمز لفصل دراسي خاص يسمى "اللوبي". مهمتك هي تنفيذ الأجزاء المفقودة من فئة "الردهة" لإنشاء نظام ردهة وظيفي. يجب أن تتمتع فئة "اللوبي" بالوظائف التالية:

1. يجب أن تحتوي فئة "اللوبي" على متغير مثيل ثابت خاص يسمى "مثيل" من النوع "Lobby". يجب أن يحتوي هذا المتغير على المثيل الوحيد لفئة "الردهة".
2. يجب أن تحتوي فئة "اللوبي" على مُنشئ خاص يمنع إنشاء مثيلات متعددة لفئة "اللوبي" من خارج الفئة.
3. يجب أن تحتوي فئة "Lobby" على طريقة ثابتة عامة تسمى "getInstance()" والتي يجب أن تعرض المثيل الوحيد لفئة "Lobby". إذا كان متغير المثيل `المثيل` هو `فارغ`، فيجب إنشاء مثيل جديد لفئة `اللوبي`، وتخصيصه لـ`المثيل`، وإعادته. وبخلاف ذلك، يجب ببساطة إرجاع المثيل الموجود.
4. يجب أن تحتوي فئة "الردهة" على طريقة عامة تسمى "joinLobby(String playerName)" والتي تأخذ معلمة "String" "playerName" وتضيف اللاعب إلى الردهة. يجب أن تعرض الطريقة "صحيح" إذا تمت إضافة اللاعب بنجاح إلى الردهة، و"خطأ" بخلاف ذلك.

اكتب الأجزاء المفقودة من فئة "الردهة" لتلبية المتطلبات المذكورة أعلاه.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}