class Platform implements ExperimentalObject {

    public synchronized List<Container> getRoster () {
        try (MDC.MDCCloseable ignored = MDC.putCloseable(DataDogConstants.DATADOG_PLATFORM_KEY, this.getPlatformType())) {
            if (roster == null) {
                roster = new Expiring<>(generateRoster(), ROSTER_CACHE_DURATION);
            }
            return roster.computeIfAbsent(this::generateRoster, ROSTER_CACHE_DURATION);
        }
    }

}