/******************************************************************************* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ************************************************************************* ******/ Ċ package Ġorg . jetbrains . kotlin . wiz ards Ċ Ċ import Ġorg . eclipse . j face . view ers . IS tr uct ured Selection Ċ import Ġorg . jetbrains . kotlin . core . utils . source Folders Ċ import Ġorg . eclipse . jdt . core . I Java Project Ċ import Ġorg . eclipse . jdt . core . IP ackage Fragment Root Ċ import Ġorg . eclipse . jdt . core . IP ackage Fragment Ċ import Ġorg . eclipse . jdt . core . I Compilation Unit Ċ import Ġorg . eclipse . core . resources . I File Ċ import Ġorg . eclipse . jdt . core . Java Core Ċ import Ġorg . eclipse . core . resources . I Resource Ċ Ċ fun Ġget Source Folder By Selection ( selection : ĠI Structured Selection ): ĠI Package Fragment Root ? Ġ{ ĊĠĠĠ Ġif Ġ( selection . isEmpty ) Ġreturn Ġnull ĊĠĠĠĠĊĠĠĠ Ġval Ġelement Ġ= Ġselection . first Element ĊĠĠĠ Ġreturn Ġwhen Ġ( element ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠI Package Fragment Root Ġ-> Ġelement ĊĠĠĠĠĠĠĠ Ġis ĠI Java Project Ġ-> Ġelement . source Folders . first OrNull () ĊĠĠĠĠĠĠĠ Ġis ĠI Package Fragment Ġ-> Ġelement . parent Ġas ĠI Package Fragment Root ĊĠĠĠĠĠĠĠ Ġis ĠI Compilation Unit Ġ-> Ġelement . parent . parent Ġas ĠI Package Fragment Root ĊĠĠĠĠĠĠĠ Ġis ĠI Resource Ġ-> Ġget Package By Selection ( selection )?. parent Ġas ? ĠI Package Fragment Root ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġget Package By Selection ( selection : ĠI Structured Selection ): ĠI Package Fragment ? Ġ{ ĊĠĠĠ Ġif Ġ( selection . isEmpty ) Ġreturn Ġnull ĊĠĠĠĠĊĠĠĠ Ġval Ġelement Ġ= Ġselection . first Element ĊĠĠĠ Ġreturn Ġwhen Ġ( element ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠI Package Fragment Ġ-> Ġelement ĊĠĠĠĠĠĠĠ Ġis ĠI Compilation Unit Ġ-> Ġelement . parent Ġas ĠI Package Fragment ĊĠĠĠĠĠĠĠ Ġis ĠI Resource Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjava Project Ġ= ĠJava Core . create ( element . project ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava Project . find Package Fragment ( element . getFull Path (). remove Last Segments ( 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠ Ġ} Ċ }