### Question:
MetadataReportService { public static MetadataReportService instance(Supplier<URL> metadataReportUrl) { if (metadataReportService == null) { synchronized (lock) { if (metadataReportService == null) { URL metadataReportURLTmp = metadataReportUrl.get(); if (metadataReportURLTmp == null) { return null; } metadataReportService = new MetadataReportService(metadataReportURLTmp); } } } return metadataReportService; } MetadataReportService(URL metadataReportURL); static MetadataReportService instance(Supplier<URL> metadataReportUrl); void publishProvider(URL providerUrl); void publishConsumer(URL consumerURL);  }### Answer:
@Test public void testInstance() { MetadataReportService metadataReportService2 = MetadataReportService.instance(new Supplier<URL>() { @Override public URL get() { return url; } }); Assertions.assertSame(metadataReportService1, metadataReportService2); Assertions.assertEquals(metadataReportService1.metadataReportUrl, url); }