package Ġl td . rust _ lang . utils . set Ċ Ċ import Ġl td . rust _ lang . utils . tree . RB Tree Ċ Ċ class ĠTree Set < E > Ġ: ĠSet < E > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcontainer Ġ= ĠRB Tree < E >() ĊĊĠĠĠ Ġoverride Ġfun Ġsize (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontainer . size () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠisEmpty : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsize () Ġ== Ġ 0 ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( element : ĠE ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcontainer . contains ( element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd ( element : ĠE ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . add ( element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( element : ĠE ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( element Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer . remove ( element ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtraversal ( visitor : Ġ(( e : ĠE ?) Ġ-> ĠBoolean )? ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer . in order ( visitor ) ĊĠĠĠ Ġ} Ċ } Ċ