// Path: core/src/main/java/io/t28/json2java/core/Style.java
// public enum Style {
//     NONE {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new ModelClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     },
//     GSON {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new GsonClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     },
//     JACKSON {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new JacksonClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     },
//     MOSHI {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new MoshiClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     };
// 
//     @Nonnull
//     @CheckReturnValue
//     abstract ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                     @Nonnull NamePolicy methodNameStrategy,
//                                     @Nonnull NamePolicy parameterNameStrategy);
// 
//     @Nonnull
//     @CheckReturnValue
//     public static Optional<Style> fromName(@Nonnull String name) {
//         return Stream.of(Style.values())
//                 .filter(style -> style.name().equalsIgnoreCase(name))
//                 .findFirst();
//     }
// 
//     @Nonnull
//     @CheckReturnValue
//     public static Style fromName(@Nonnull String name, @Nonnull Style defaultStyle) {
//         return fromName(name).orElse(defaultStyle);
//     }
// 
//     public String get() {
//         return "";
//     }
// }


import com.google.common.annotations.VisibleForTesting;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.editor.CaretModel;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.EditorSettings;
import io.t28.json2java.core.Style;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collections;
import java.util.stream.Stream;
    }

    @Override
    public void actionPerformed(@Nonnull ActionEvent event) {
        onChanged();
    }

    @Override
    public void insertUpdate(@Nonnull DocumentEvent event) {
        onChanged();
    }

    @Override
    public void removeUpdate(@Nonnull DocumentEvent event) {
        onChanged();
    }

    @Override
    public void changedUpdate(@Nonnull DocumentEvent event) {
        onChanged();
    }

    @Nonnull
    @CheckReturnValue
    public JComponent getComponent() {
        return rootPanel;
    }

    @Nonnull
    @CheckReturnValue
// Path: core/src/main/java/io/t28/json2java/core/Style.java
// public enum Style {
//     NONE {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new ModelClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     },
//     GSON {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new GsonClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     },
//     JACKSON {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new JacksonClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     },
//     MOSHI {
//         @Nonnull
//         @Override
//         ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                @Nonnull NamePolicy methodNameStrategy,
//                                @Nonnull NamePolicy parameterNameStrategy) {
//             return new MoshiClassBuilder(fieldNameStrategy, methodNameStrategy, parameterNameStrategy);
//         }
//     };
// 
//     @Nonnull
//     @CheckReturnValue
//     abstract ClassBuilder toBuilder(@Nonnull NamePolicy fieldNameStrategy,
//                                     @Nonnull NamePolicy methodNameStrategy,
//                                     @Nonnull NamePolicy parameterNameStrategy);
// 
//     @Nonnull
//     @CheckReturnValue
//     public static Optional<Style> fromName(@Nonnull String name) {
//         return Stream.of(Style.values())
//                 .filter(style -> style.name().equalsIgnoreCase(name))
//                 .findFirst();
//     }
// 
//     @Nonnull
//     @CheckReturnValue
//     public static Style fromName(@Nonnull String name, @Nonnull Style defaultStyle) {
//         return fromName(name).orElse(defaultStyle);
//     }
// 
//     public String get() {
//         return "";
//     }
// }


// Path: idea/src/main/java/io/t28/json2java/idea/view/SettingsPanel.java
import com.google.common.annotations.VisibleForTesting;
import com.intellij.ide.highlighter.JavaFileType;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.Application;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.command.CommandProcessor;
import com.intellij.openapi.editor.CaretModel;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.EditorFactory;
import com.intellij.openapi.editor.EditorSettings;
import io.t28.json2java.core.Style;
import javax.annotation.CheckReturnValue;
import javax.annotation.Nonnull;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Collections;
import java.util.stream.Stream;

    }

    @Override
    public void actionPerformed(@Nonnull ActionEvent event) {
        onChanged();
    }

    @Override
    public void insertUpdate(@Nonnull DocumentEvent event) {
        onChanged();
    }

    @Override
    public void removeUpdate(@Nonnull DocumentEvent event) {
        onChanged();
    }

    @Override
    public void changedUpdate(@Nonnull DocumentEvent event) {
        onChanged();
    }

    @Nonnull
    @CheckReturnValue
    public JComponent getComponent() {
        return rootPanel;
    }

    @Nonnull
    @CheckReturnValue
    public Style getStyle() {