private Properties readProperties(String className) throws IOException {
        if (propertiesMap.containsKey(className)) {
            return propertiesMap.get(className);
        }
        final FileObject resource = processingEnv
                .getFiler()
                .getResource(StandardLocation.CLASS_OUTPUT,
                             "",
                             getFileName(className));
        final Properties properties = new Properties();
        if (resource.getLastModified() == 0L) {
            // returns 0 if file does not exist
            propertiesMap.put(className, properties);
            return properties;
        }
        try (Reader reader = resource.openReader(false)) {
            properties.load(reader);
            return properties;
        }
    }
Processor that creates a properties file based on the JavaDoc/KDoc description of parameters for interfaces.
This file can be later used if the {@link Description} annotation does not exist for parameters or methods.
annotation-processor/src/main/java/com/linecorp/armeria/server/annotation/processor/DocumentationProcessor.java