@Override public final void configure(ServiceProfile<?> profile) throws InterruptedException, IOException { try { configureVersion(profile); doConfigure(profile); } catch (IllegalArgumentException e) { throw new IOException(MessageFormat.format( "Failed to configure \"{0}\" ({1})", profile.getPrefix(), profile.getServiceClass().getName()), e); } }