@Override
public Socket createSourceSideConnection(final String targetId, final Socket controlConnection)
throws ConnectionNotEstablishedException {
Socket result = null;
final HolePunchingSource source = new HolePunchingSource();
try {
result = source.establishSourceSideConnection(targetId, controlConnection);
} catch (final IOException e) {
final String errorMessage = "Could not create source-side onnection"; //$NON-NLS-1$
logger.error(errorMessage, e);
throw new ConnectionNotEstablishedException(this.metaData.getTraversalTechniqueName(), errorMessage, e);
}