@Override
 protected DatagramSocket getSocket() throws IOException {
   if (this.getTheSocket() == null) {
     synchronized (this) {
       createSocket();
     }
   }
   return this.getTheSocket();
 }