### Question:
Containerizer { public Containerizer withAdditionalTag(String tag) { Preconditions.checkArgument(ImageReference.isValidTag(tag), "invalid tag '%s'", tag); additionalTags.add(tag); return this; } private  Containerizer(
      String description,
      ImageConfiguration imageConfiguration,
      Function<BuildContext, StepsRunner> stepsRunnerFactory,
      boolean mustBeOnline); static Containerizer to(RegistryImage registryImage); static Containerizer to(DockerDaemonImage dockerDaemonImage); static Containerizer to(TarImage tarImage); Containerizer withAdditionalTag(String tag); Containerizer setExecutorService(@Nullable ExecutorService executorService); Containerizer setBaseImageLayersCache(Path cacheDirectory); Containerizer setApplicationLayersCache(Path cacheDirectory); Containerizer addEventHandler(
      Class<E> eventType, Consumer<? super E> eventConsumer); Containerizer addEventHandler(Consumer<JibEvent> eventConsumer); Containerizer setAllowInsecureRegistries(boolean allowInsecureRegistries); Containerizer setOfflineMode(boolean offline); Containerizer setToolName(String toolName); Containerizer setToolVersion(@Nullable String toolVersion); Containerizer setAlwaysCacheBaseImage(boolean alwaysCacheBaseImage); static final Path DEFAULT_BASE_CACHE_DIRECTORY; }### Answer:
@Test public void testWithAdditionalTag() { DockerDaemonImage dockerDaemonImage = DockerDaemonImage.named(ImageReference.of(null, "repository", null)); Containerizer containerizer = Containerizer.to(dockerDaemonImage); containerizer.withAdditionalTag("tag"); try { containerizer.withAdditionalTag("+invalid+"); Assert.fail(); } catch (IllegalArgumentException ex) { Assert.assertEquals("invalid tag '+invalid+'", ex.getMessage()); } }