/**
  * @param nodeConfiguration the {@link NodeConfiguration} to copy
  * @return a copy of the supplied {@link NodeConfiguration}
  */
 public static NodeConfiguration copyOf(NodeConfiguration nodeConfiguration) {
   NodeConfiguration copy = new NodeConfiguration();
   copy.parentResolver = nodeConfiguration.parentResolver;
   copy.masterUri = nodeConfiguration.masterUri;
   copy.rosRoot = nodeConfiguration.rosRoot;
   copy.rosPackagePath = nodeConfiguration.rosPackagePath;
   copy.nodeName = nodeConfiguration.nodeName;
   copy.messageSerializationFactory = nodeConfiguration.messageSerializationFactory;
   copy.tcpRosBindAddress = nodeConfiguration.tcpRosBindAddress;
   copy.tcpRosAdvertiseAddressFactory = nodeConfiguration.tcpRosAdvertiseAddressFactory;
   copy.timeProvider = nodeConfiguration.timeProvider;
   copy.xmlRpcBindAddress = nodeConfiguration.xmlRpcBindAddress;
   copy.xmlRpcAdvertiseAddressFactory = nodeConfiguration.xmlRpcAdvertiseAddressFactory;
   copy.executorService = nodeConfiguration.executorService;
   copy.log = nodeConfiguration.log;
   return copy;
 }