Класс, описывающий дерево, мы создали, теперь нужен класс, описывающий тип элементов дерева:
1. В классе CustomTree создай вложенный статический параметризированный класс Entry<T> с модификатором доступа по умолчанию.
2. Обеспечь поддержку этим классом интерфейса Serializable.
3. Создай такие поля (модификатор доступа по умолчанию):
- String elementName;
- boolean availableToAddLeftChildren, availableToAddRightChildren;
- Entry<T> parent, leftChild, rightChild;
- при необходимости, можешь создавать и другие поля;
4. Реализуй публичный конструктор с одним параметром типа String:
- установи поле elementName равным полученному параметру;
- установи поле availableToAddLeftChildren равным true;
- установи поле availableToAddRightChildren равным true;
5. Реализуй публичный метод boolean isAvailableToAddChildren, возвращающий дизъюнкцию полей availableToAddLeftChildren и availableToAddRightChildren.
- Класс CustomTree.Entry должен быть объявлен с модификатором доступа по умолчанию.
- Класс CustomTree.Entry должен поддерживать интерфейс Serializable.
- В классе CustomTree.Entry должно существовать поле elementName типа String.
- В классе CustomTree.Entry должно существовать поле availableToAddLeftChildren типа boolean.
- В классе CustomTree.Entry должно существовать поле availableToAddRightChildren типа boolean.
- В классе CustomTree.Entry должно существовать поле parent типа Entry.
- В классе CustomTree.Entry должно существовать поле leftChild типа Entry.
- В классе CustomTree.Entry должно существовать поле rightChild типа Entry.
- В классе CustomTree.Entry должен быть корректно реализован конструктор с одним параметром типа String (смотри условие).
- В классе CustomTree.Entry должен корректно реализован метод isAvailableToAddChildren (смотри условие).