### Question:
ModelCatalog { public static <D, C extends TrainConfig & BaseConfig> Model<D, C> get( String username, String modelName, Class<D> dataClass, Class<C> configClass ) { return getUserCatalog(username).get(modelName, dataClass, configClass); } private  ModelCatalog(); static void set(Model<?, ?> model); static Model<D, C> get(
        String username, String modelName, Class<D> dataClass, Class<C> configClass
    ); static boolean exists(String username, String modelName); static Optional<String> type(String username, String modelName); static Model<?, ?> drop(String username, String modelName); static Collection<Model<?, ?>> list(String username); static Model<?, ?> list(String username, String modelName); static void removeAllLoadedModels();  }### Answer:
@Test void shouldThrowOnMissingModel() { IllegalArgumentException ex = assertThrows( IllegalArgumentException.class, () -> ModelCatalog.get(USERNAME, "something", String.class, TestTrainConfig.class) ); assertEquals("No model with model name `something` was found.", ex.getMessage()); }