class ProjectImportsServiceImpl extends KieService<ProjectImportsContent> implements ProjectImportsService {

    @Override
    public ProjectImports load(final Path path) {
        try {
            final org.uberfire.java.nio.file.Path nioPath = Paths.convert(path);
            if (!ioService.exists(nioPath)) {
                saveProjectImports(path);
            }
            final String content = ioService.readAllString(Paths.convert(path));
            final ProjectImports projectImports = projectConfigurationContentHandler.toModel(content);

            // java.lang.Number imported by default in new guided rule
            // include it into project imports if not present already
            final Import javaLangNumber = new Import(Number.class);
            if (projectImports.getImports().getImports().stream().noneMatch(anImport -> Objects.equals(anImport, javaLangNumber))) {
                projectImports.getImports().addImport(javaLangNumber);
            }
            return projectImports;
        } catch (Exception e) {
            throw ExceptionUtilities.handleException(e);
        }
    }

    public  ProjectImportsServiceImpl();
    @Inject public  ProjectImportsServiceImpl(final @Named("ioStrategy") IOService ioService,
                                     final ProjectConfigurationContentHandler projectConfigurationContentHandler,
                                     final RenameService renameService,
                                     final SaveAndRenameServiceImpl<ProjectImports, Metadata> saveAndRenameService);

}