@Override
  public boolean install() {
    if (!isInstalled()) {
      JavaSourceFacet javaSourceFacet = project.getFacet(JavaSourceFacet.class);

      JavaClass applicationClass =
          JavaParser.create(JavaClass.class)
              .setPackage(classPackage)
              .setName(className)
              .setSuperType("javax.ws.rs.core.Application")
              .addAnnotation("javax.ws.rs.ApplicationPath")
              .setStringValue(rootPath)
              .getOrigin();

      applicationClass.addImport("javax.ws.rs.core.Application");
      applicationClass.addImport("javax.ws.rs.ApplicationPath");

      try {
        javaSourceFacet.saveJavaSource(applicationClass);
      } catch (FileNotFoundException e) {
        throw new RuntimeException(e);
      }
    }

    return true;
  }