code: public ClockDifference getClockDifference() throws IOException, InterruptedException {
          VirtualChannel channel = getChannel();
          if(channel==null)
              throw new IOException(getNodeName()+" is offline");
  
          return channel.call(getClockDifferenceCallable());
      }
docs: Estimates the clock difference with this agent.
  
  @return
  always non-null.
  @throws InterruptedException
  if the operation is aborted.