Requisitos para utilizar quando for gerar código fonte do software em java 11, chamado estudo1:
1. Existe uma classe final Enum Privilegio {INATIVO, DISPOSITIVO, MONITORADO, MONITOR, MEMBROMONITORADO, MEMBROMONITOR, GERENTE, ADMIN, BACKEND}.
e as classes: PrivInativo extends Privilegio{string privInativoId; Privilegio privilegio="INATIVO";void funcao1{};}, PrivDispositivo extends Privilegio implements Inativo{string privDispositivoId; Privilegio privilegio="DISPOSITIVO";void funcao2{};}, ... ,  PrivBackEnd extends Privilegio implements Admin{string privBackEndId; Privilegio privilegio="DISPOSITIVO";void funcao9{};}, ou seja, por herança (implements) PrivDispostivo terá funcao1 e funcao2 enquanto que PrivBackEnd terá funcao1, funcao2, funcao3, funcao4, funcao5, funcao6, funcao7, funcao8 e funcao9. 
2. São classes para implementação do padrão composite: como folha Dispositivo{string dispositivoId; Privilegio dispositivoPrivilegio}, como composite Grupo{ grupoId; Privilegio grupoPrivilegio; Arraylist<Dispositivo> membrosDispositivo}, como componente a interface MetaMembro{string metaMembroId; Dispositivo membroDispositivo; Grupo membroGrupo}. Implemente também a operação de busca recursiva para filhos.
3. Os dados são persistidos no banco de dados "Firebase Realtime Database" de nome "CadastroDB" do projeto "projeto1" através de aplicação da biblioteca nativa do java 11 "HTTPClient".
continua...