package Ġparty . markdown . tree Ċ Ċ /** Ċ Ġ* ĠA Ġsealed Ġclass Ġrepresenting Ġan Ġimmutable Ġview Ġof Ġthe Ġtree Ġstructure . ĠNodes Ġcan Ġbe Ġof Ġtwo Ġkinds Ġ: Ċ Ġ* Ġ[ Markdown File ] Ġand Ġ[ Folder ]. Ċ Ġ* Ċ Ġ* ĠA Ġ[ TreeNode ] Ġis Ġguaranteed Ġto Ġbe Ġin Ġa Ġconsistent Ġstate , Ġand Ġrespect Ġtree Ġin variants . Ċ Ġ*/ Ċ sealed Ġinterface ĠTreeNode Ġ{ ĊĊĠ Ġ/** ĠThe Ġunique Ġidentifier Ġfor Ġthis Ġ[ TreeNode ]. Ġ*/ ĊĠ Ġval Ġid : ĠTreeNode Identifier ĊĊĠ Ġ/** ĠThe Ġdisplay Ġname Ġfor Ġthis Ġ[ TreeNode ]. Ġ*/ ĊĠ Ġval Ġname : ĠString ? ĊĊĠ Ġoperator Ġfun Ġcontains ( other : ĠTreeNode ): ĠBoolean ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠA Ġfolder Ġthat Ġcontains Ġa Ġ[ List ] Ġof Ġ[ children ]. ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġid Ġthe Ġidentifier Ġfor Ġthis Ġfolder . ĊĠĠ Ġ* Ġ@ param Ġchildren Ġthe Ġ[ List ] Ġof Ġ[ TreeNode ] Ġthat Ġact Ġas Ġthe Ġchildren Ġof Ġthis Ġ[ TreeNode ]. ĊĠĠ Ġ* Ġ@ param Ġname Ġthe Ġdisplay Ġname Ġfor Ġthis Ġfolder . ĊĠĠ Ġ*/ ĊĠ Ġdata Ġclass ĠFolder ( ĊĠĠĠĠĠ Ġoverride Ġval Ġid : ĠTreeNode Identifier , ĊĠĠĠĠĠ Ġval Ġchildren : ĠSet < TreeNode >, ĊĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ?, ĊĠ Ġ) Ġ: ĠTreeNode Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcontains ( other : ĠTreeNode ): ĠBoolean Ġ{ ĊĠĠĠĠĠ Ġif Ġ( other Ġ== Ġthis ) Ġreturn Ġtrue ĊĠĠĠĠĠ Ġreturn Ġchildren . any Ġ{ Ġit . contains ( other ) Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠA Ġdocument Ġthat Ġcontains Ġsome Ġtext , Ġin ĠMarkdown . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġid Ġthe Ġidentifier Ġfor Ġthis Ġfile . ĊĠĠ Ġ* Ġ@ param Ġname Ġthe Ġdisplay Ġname Ġfor Ġthis Ġfile . ĊĠĠ Ġ*/ ĊĠ Ġdata Ġclass ĠMarkdown File ( ĊĠĠĠĠĠ Ġoverride Ġval Ġid : ĠTreeNode Identifier , ĊĠĠĠĠĠ Ġoverride Ġval Ġname : ĠString ?, ĊĠ Ġ) Ġ: ĠTreeNode Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcontains ( other : ĠTreeNode ): ĠBoolean Ġ= Ġother Ġ== Ġthis ĊĠ Ġ} Ċ } Ċ