public Transport(URIConfigurator configurator, HttpClient client) {
this.configurator = configurator;
final Communicator<HttpResponse> baseCommunicator = new BaseCommunicator(client);
this.authenticator = new RedmineAuthenticator<HttpResponse>(
baseCommunicator, CHARSET);
final ContentHandler<BasicHttpResponse, BasicHttpResponse> errorProcessor = new RedmineErrorHandler();
errorCheckingCommunicator = Communicators.fmap(
authenticator,
Communicators.compose(errorProcessor,
Communicators.transportDecoder()));
Communicator<String> coreCommunicator = Communicators.fmap(errorCheckingCommunicator,