private ServiceName installCodec(ServiceTarget target, MediaType mediaType, Class<? extends StateEncoder> encoderClass, ResourceDecoder decoder) { ServiceName name = codec(mediaType.toString()); CodecService codec = new CodecService(encoderClass, decoder); target.addService(name, codec) .install(); CodecInstallationService installer = new CodecInstallationService(mediaType); target.addService(name.append("install"), installer) .addDependency(name, ResourceCodec.class, installer.codecInjector()) .addDependency(CODEC_MANAGER, ResourceCodecManager.class, installer.codecManagerInjector()) .install(); return name.append("install"); } }