public NodeRegistration(InetSocketAddress ncAddress, String nodeId, NCConfig ncConfig, NetworkAddress dataPort,
NetworkAddress resultPort, HeartbeatSchema hbSchema, NetworkAddress messagingPort, NodeCapacity capacity) {
this.ncAddress = ncAddress;
this.nodeId = nodeId;
this.ncConfig = ncConfig;
this.dataPort = dataPort;
this.resultPort = resultPort;
this.hbSchema = hbSchema;
this.messagingPort = messagingPort;
this.capacity = capacity;
this.osName = osMXBean.getName();
this.arch = osMXBean.getArch();
this.osVersion = osMXBean.getVersion();
this.nProcessors = osMXBean.getAvailableProcessors();
this.vmName = runtimeMXBean.getVmName();
this.vmVersion = runtimeMXBean.getVmVersion();
this.vmVendor = runtimeMXBean.getVmVendor();
this.classpath = runtimeMXBean.getClassPath();
this.libraryPath = runtimeMXBean.getLibraryPath();
this.bootClasspath = MXHelper.getBootClassPath();
this.inputArguments = runtimeMXBean.getInputArguments();
this.systemProperties = runtimeMXBean.getSystemProperties();
this.pid = PidHelper.getPid();
}