@SuppressWarnings({"unchecked", "rawtypes"}) private void paths(final ClassLoader loader, final Config conf, final String name, final Consumer<FileEventOptions> callback) { list(conf, name, value -> { Config coptions = ConfigFactory.parseMap((Map) value); Class handler = loader.loadClass(coptions.getString("handler")); Path path = Paths.get(coptions.getString("path")); FileEventOptions options = new FileEventOptions(path, handler); list(coptions, "kind", it -> options.kind(new WatchEventKind(it.toString()))); list(coptions, "modifier", it -> options.modifier(WatchEventModifier.modifier(it.toString()))); list(coptions, "includes", it -> options.includes(it.toString())); list(coptions, "recursive", it -> options.recursive(Boolean.valueOf(it.toString()))); callback.accept(options); }); }