code: private int ascertainParentFingerprint(DeterministicKey parentKey, int parentFingerprint)
      throws IllegalArgumentException {
          if (parentFingerprint != 0) {
              if (parent != null)
                  checkArgument(parent.getFingerprint() == parentFingerprint,
                                "parent fingerprint mismatch",
                                Integer.toHexString(parent.getFingerprint()), Integer.toHexString(parentFingerprint));
              return parentFingerprint;
          } else return 0;
      }
docs: Return the fingerprint of this key's parent as an int value, or zero if this key is the
  root node of the key hierarchy.  Raise an exception if the arguments are inconsistent.
  This method exists to avoid code repetition in the constructors.