code: public static ProtocolSignature getProtocolSignature(
        int clientMethodsHashCode,
        long serverVersion,
        Class<? extends VersionedProtocol> protocol) {
      // try to get the finger print & signature from the cache
      ProtocolSigFingerprint sig = getSigFingerprint(protocol, serverVersion);
      
      // check if the client side protocol matches the one on the server side
      if (clientMethodsHashCode == sig.fingerprint) {
        return new ProtocolSignature(serverVersion, null);  // null indicates a match
      } 
      
      return sig.signature;
    }
docs: Get a server protocol's signature
  
  @param clientMethodsHashCode client protocol methods hashcode
  @param serverVersion server protocol version
  @param protocol protocol
  @return the server's protocol signature