// ĠCopyright Ġ 2 0 0 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġorg . jetbrains . plugins . gradle . tool ing . proxy Ċ Ċ import Ġjava . io . File Ċ Ċ fun Ġ< T > ĠList < T > ?. nul lize () Ġ= Ġif Ġ( isNull OrEmpty ()) Ġnull Ġelse Ġthis Ċ Ċ /** Ċ Ġ* ĠD uplicates Ġcode Ġin Ġ[ com . intellij . openapi . util . io . File Util # find Se quent File ] Ġwhich Ġcan Ġnot Ġbe Ġused Ġto Ġavoid Ġthe Ġproxy Ġapp Ġclasspath Ġpoll ution . Ċ Ġ*/ Ċ fun ĠFile . find Se quent Child ( file Prefix : ĠString , Ġextension : ĠString , Ġcondition : Ġ( File ) Ġ-> ĠBoolean ): ĠFile Ġ{ ĊĠ Ġvar Ġpostfix Ġ= Ġ 0 ĊĠ Ġval Ġext Ġ= Ġif Ġ( extension . isEmpty ()) Ġ"" Ġelse Ġ".$ extension " ĊĠ Ġvar Ġcandidate Ġ= ĠFile ( this , Ġfile Prefix Ġ+ Ġext ) ĊĠ Ġwhile Ġ(! condition . invoke ( candidate )) Ġ{ ĊĠĠĠ Ġcandidate Ġ= ĠFile ( this , Ġfile Prefix Ġ+ Ġ++ postfix Ġ+ Ġext ) ĊĠ Ġ} ĊĠ Ġreturn Ġcandidate Ċ }