WebComponentConfigurationRegistry implements Serializable { public static WebComponentConfigurationRegistry getInstance( VaadinContext context) { assert context != null; WebComponentConfigurationRegistry attribute = context.getAttribute( WebComponentConfigurationRegistry.class, WebComponentConfigurationRegistry::createRegistry); if (attribute == null) { throw new IllegalStateException( "Null WebComponentConfigurationRegistry obtained from VaadinContext of type " + context.getClass().getName()); } return attribute; } protected  WebComponentConfigurationRegistry(); Optional<WebComponentConfiguration<? extends Component>> getConfiguration(
            String tag); @SuppressWarnings("unchecked") Set<WebComponentConfiguration<T>> getConfigurationsByComponentType(
            Class<T> componentClass); boolean setConfigurations(
            Set<WebComponentConfiguration<? extends Component>> configurations); boolean hasConfigurations(); Optional<T> getEmbeddedApplicationAnnotation(
            Class<T> type); Set<WebComponentConfiguration<? extends Component>> getConfigurations(); void setShadowDomElements(List<Element> elements); List<Element> getShadowDomElements(); static WebComponentConfigurationRegistry getInstance(
            VaadinContext context);  }
@Test public void assertRegistryIsSingleton() { Assert.assertSame( "WebComponentConfigurationRegistry instance should be singleton", registry, WebComponentConfigurationRegistry.getInstance(context)); }