@Nullable
  default Long getLongValue() {
    final BigInteger value = getBigIntegerValue();

    return Optional
      .ofNullable(value)
      .map(BigInteger::longValue)
      .filter(longValue -> BigInteger.valueOf(longValue).equals(value))
      .orElse(null);
  }
@Nullable
  default Long getLongValue()