@@ -157,31 +157,37 @@ public ActiveWatch start() throws IOException {
157157 if (this .eventHandler == EMPTY_HANDLER ) {
158158 throw new IllegalStateException ("There is no onEvent handler defined" );
159159 }
160- var result = createWatch ();
161- result .start ();
162- return result ;
163- }
164160
165- private JDKBaseWatch createWatch () {
161+ JDKBaseWatch result ;
162+
166163 switch (scope ) {
167164 case PATH_AND_CHILDREN : {
168- return new JDKDirectoryWatch (path , executor , eventHandler , false );
165+ result = new JDKDirectoryWatch (path , executor , eventHandler , false );
166+ result .start ();
167+ break ;
169168 }
170169 case PATH_AND_ALL_DESCENDANTS : {
171170 try {
172- return new JDKDirectoryWatch (path , executor , eventHandler , true );
171+ result = new JDKDirectoryWatch (path , executor , eventHandler , true );
172+ result .start ();
173173 } catch (Throwable ex ) {
174174 // no native support, use the simulation
175175 logger .debug ("Not possible to register the native watcher, using fallback for {}" , path );
176176 logger .trace (ex );
177- return new JDKRecursiveDirectoryWatch (path , executor , eventHandler );
177+ result = new JDKRecursiveDirectoryWatch (path , executor , eventHandler );
178+ result .start ();
178179 }
180+ break ;
179181 }
180182 case PATH_ONLY : {
181- return new JDKFileWatch (path , executor , eventHandler );
183+ result = new JDKFileWatch (path , executor , eventHandler );
184+ result .start ();
185+ break ;
182186 }
183187 default :
184188 throw new IllegalStateException ("Not supported yet" );
185189 }
190+
191+ return result ;
186192 }
187193}
0 commit comments