private void sendConnectionRequest(final Socket controlConnection, final String targetId,
final Token authentificationToken) throws IOException {
final MessageWriter messageWriter = new MessageWriter(controlConnection.getOutputStream());
final Message connectionRequestMessage = MessageStaticFactory.newSTUNMessageInstance(STUNMessageClass.REQUEST,
STUNMessageMethod.CONNECTION_REQUEST);
connectionRequestMessage.addAttribute(new HolePunchingAttribute());
connectionRequestMessage.addAttribute(new Username(targetId));
final InetSocketAddress localAddress = (InetSocketAddress) controlConnection.getLocalSocketAddress();
connectionRequestMessage.addAttribute(new XorMappedAddress(localAddress));
connectionRequestMessage.addAttribute(authentificationToken);
messageWriter.writeMessage(connectionRequestMessage);