method return list sourc file process file turn equival breadth search directori structur param file file directori param recurs descend directori tree recurs param filter arrai file suffix match filter param monitor progress monitor monitor cancel request progress updat provid time requir file non determinist list file import list file list file file recurs suffix filter filter progress monitor monitor file collect list list file result arrai list file list file directori link list file set file seen directori hash set file directori add file directori monitor monitor cancel collect list file cur dir directori remov cur dir directori reason alleg directori singl file confus just normal singl file select suppos import result add cur dir content directori file file cur dir list file file file cur file cur dir list file follow test caus troubl link link accept directori link file link result infinit loop reason don travers recurs cur file directori file directori recurs seen directori contain cur file directori add cur file seen directori add cur file match suffix cur file filter result add cur file result 