public CompletableFuture<AcmeInfo> fetchRemoteInfo() { try { Session session = new Session(config.getProviderLocation()); Metadata metadata = session.getMetadata(); URI termsOfServiceUri = metadata.getTermsOfService(); URL website = metadata.getWebsite(); return CompletableFuture.completedFuture(new AcmeInfo(termsOfServiceUri, website)); } catch(AcmeException e) { throw new RuntimeException(e); } }