package com.hypixel.hytale.metrics; import java.util.function.Function; import javax.annotation.Nonnull; import javax.annotation.Nullable; public interface MetricProvider { @Nullable MetricResults toMetricResults(); @Nonnull static Function maybe(@Nonnull Function func) { return t -> { R r = func.apply(t); return r instanceof MetricProvider ? (MetricProvider)r : null; }; } }