code: public UUID getMachineId() throws NoSuchAlgorithmException,
          SocketException, UnknownHostException {
          return calculator.getMachineId(useNetwork, useHostName, useArchitecture);
      }
docs: Calculate the UUID for the machine this code is running on. To do this
  the method lists all network interfaces that are real 'server' interfaces
  (ignoring loop-back, virtual, and point-to-point interfaces). The method
  takes each interface name (as a string) and hardware address into a MD5
  digest one after the other and finally converts the resulting 128bit
  digest into a UUID.
  <p>
  The method also feeds the local machine name into the digest.
  <p>
  This method relies on Java 6 methods, but also works with Java 5. However
  the result will not be the same on Java 5 as on Java 6.
  
  @return the UUID of the machine or null if the uuid can not be
  calculated.
  @throws SocketException          in case some error
  @throws NoSuchAlgorithmException in case some error
  @throws UnknownHostException     in case some error