@Produces @ApplicationProperties public Properties getInstance(InjectionPoint injectionPoint) { Annotated annotated = injectionPoint.getAnnotated(); ApplicationProperties applicationProperties = annotated.getAnnotation(ApplicationProperties.class); Properties properties = new Properties(); try { properties.load(findOrBuild(applicationProperties.name(),properties(applicationProperties.defaults()))); } catch (IOException ioException) { logger.error("Could not load application properties " + applicationProperties.name(), ioException); } return PropertiesBuilder.newBuilder().withProperties(properties).build(); }