}
// cancel server timeout not if its running already, you might interrupt current thread
this.cancelServerTimeout(false);
synchronized (this.scServer) {
// get lock on scServer - only one server is allowed to communicate over the initial connection
SCMPCheckRegistrationCall checkRegistrationCall = new SCMPCheckRegistrationCall(this.requester, this.serviceName);
SCServerCallback callback = new SCServerCallback(true);
try {
checkRegistrationCall.invoke(callback, operationTimeoutSeconds * Constants.SEC_TO_MILLISEC_FACTOR);
} catch (Exception e) {
throw new SCServiceException("Check registration failed. ", e);
}
SCMPMessage reply = callback.getMessageSync(operationTimeoutSeconds * Constants.SEC_TO_MILLISEC_FACTOR);
if (reply.isFault()) {