class SpamAssassinInvoker {

    public boolean learnAsSpam(InputStream message, Username username) throws MessagingException {
        return metricFactory.decorateSupplierWithTimerMetric(
            "spamAssassin-spam-report",
            Throwing.supplier(
                () -> reportMessageAs(message, username, MessageClass.SPAM))
                .sneakyThrow());
    }

    public  SpamAssassinInvoker(MetricFactory metricFactory, String spamdHost, int spamdPort);

}