package Ġcom . jetbrains . edu . course creator . project View Ċ Ċ import Ġcom . intellij . ide . project View . View Settings Ċ import Ġcom . intellij . ide . project View . impl . nodes . Psi Directory Node Ċ import Ġcom . intellij . ide . util . tree View . Abstract TreeNode Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi . Psi Directory Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . jetbrains . edu . course creator . CC Utils . is Course Creator Ċ import Ġcom . jetbrains . edu . learning . E du Utils Ċ import Ġcom . jetbrains . edu . learning . Study Task Manager Ċ import Ġcom . jetbrains . edu . learning . course Format . ext . configur ator Ċ import Ġcom . jetbrains . edu . learning . course Format . tasks . Task Ċ import Ġcom . jetbrains . edu . learning . is Tests File Ċ import Ġcom . jetbrains . edu . learning . project View . Directory Node Ċ Ċ class ĠCC Node ( ĊĠ Ġproject : ĠProject , ĊĠ Ġvalue : ĠPsi Directory , ĊĠ Ġview Settings : ĠView Settings , ĊĠ Ġtask : ĠTask ? Ċ ) Ġ: ĠDirectory Node ( project , Ġvalue , Ġview Settings , Ġtask ) Ġ{ ĊĊĠ Ġoverride Ġfun Ġcan Navigate (): ĠBoolean Ġ= Ġtrue ĊĊĠ Ġoverride Ġfun Ġmodify Child Node ( child Node : ĠAbstract TreeNode < *> ): ĠAbstract TreeNode < *> ? Ġ{ ĊĠĠĠ Ġval Ġnode Ġ= Ġsuper . modify Child Node ( child Node ) ĊĠĠĠ Ġif Ġ( node Ġ!= Ġnull ) Ġreturn Ġnode ĊĠĠĠ Ġval Ġvalue Ġ= Ġchild Node . value ĊĊĠĠĠ Ġif Ġ( value Ġis ĠPsi Directory ) Ġ{ ĊĠĠĠĠĠ Ġreturn ĠCC Node ( my Project , Ġvalue , Ġsettings , Ġitem ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( value Ġis ĠPsi Element ) Ġ{ ĊĠĠĠĠĠ Ġval Ġpsi File Ġ= Ġvalue . containing File ĊĠĠĠĠĠ Ġval Ġvirtual File Ġ= Ġpsi File . virtual File ĊĠĠĠĠĠ Ġval Ġcourse Ġ= ĠStudy Task Manager . getInstance ( my Project ). course Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠ Ġif Ġ( course . configur ator Ġ== Ġnull ) Ġreturn ĠCC Student In visible File Node ( my Project , Ġpsi File , Ġsettings ) ĊĠĠĠĠĠ Ġif Ġ( E du Utils . is Task Description File ( virtual File . name )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġif Ġ(! virtual File . is Tests File ( my Project )) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCC Student In visible File Node ( my Project , Ġpsi File , Ġsettings ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Course Creator ( my Project )) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġreturn ĠCC Student In visible File Node ( my Project , Ġpsi File , Ġsettings ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Child Directory Node ( value : ĠPsi Directory ): ĠPsi Directory Node Ġ{ ĊĠĠĠ Ġreturn ĠCC Node ( my Project , Ġvalue , Ġsettings , Ġitem ) ĊĠ Ġ} Ċ } Ċ