code: public long getDigest()
    {
      try {
        if (_newDigest != 0)
          return _newDigest;
        
        if (_cl == null)
          return -1;
  
        long digest = 37;
  
        digest = addDigest(digest, _cl);
        
        _newDigest = digest;
      } catch (Throwable e) {
        log.log(Level.FINER, e.toString(), e);
  
        _newDigest = -1;
      }
  
      return _newDigest;
    }
docs: Calculates a MD5 digest of the class.