} else {
mainClass = NativeInterface.class.getName();
}
mainClassParameterList.add(String.valueOf(pid));
mainClassParameterList.add(String.valueOf(port));
PeerVMProcessFactory peerVMProcessFactory = nativeInterfaceConfiguration.getPeerVMProcessFactory();
if(peerVMProcessFactory == null) {
peerVMProcessFactory = new DefaultPeerVMProcessFactory();
}
Process p = null;
try {
p = peerVMProcessFactory.createProcess(classPathList.toArray(new String[0]), systemPropertiesMap, vmParamList.toArray(new String[0]), mainClass, mainClassParameterList.toArray(new String[0]));
} catch(Exception e) {
throw new IllegalStateException("Failed to spawn the peer VM!", e);
}
if(p == null) {
throw new IllegalStateException("Failed to spawn the peer VM!");