code: public String toHexString() {
      String res = Long.toHexString(_fp);
      int len = res.length();
      if (len < 16) {
        res = LEADING_ZEROS.substring(len) + res;
        assert res.length() == 16;
      }
      return res;
    }
docs: Returns the value of this fingerprint as an unsigned integer encoded
  in base 16 (hexideicmal), padded with leading zeros to a total length
  of 16 characters.<p>
  
  <b>Important:</b> If the output of this function is subsequently
  fingerprinted, the probabilistic guarantee is lost. That is,
  there is a much higher liklihood of fingerprint collisions if
  fingerprint values are themselves fingerprinted in any way.