@@ -0,0 +1,2267 @@
+package de.xn__ho_hia.quality.null_analysis;%0A%0Aimport java.math.BigInteger;%0A%0Aimport org.eclipse.jdt.annotation.NonNull;%0A%0A/**%0A * Utility class to work with @NonNull match operations.%0A */%0Apublic final class NullsafeMath %7B%0A%0A    /**%0A     * @param value%0A     *            The value to wrap%0A     * @return A @NonNull %7B@link BigInteger%7D%0A     */%0A    public static @NonNull BigInteger asBigInteger(final long value) %7B%0A        return Nullsafe.nonNull(BigInteger.valueOf(value));%0A    %7D%0A%0A    /**%0A     * @param value%0A     *            The value to wrap%0A     * @return A @NonNull %7B@link Long%7D%0A     */%0A    public static @NonNull Long asLong(final long value) %7B%0A        return Nullsafe.nonNull(Long.valueOf(value));%0A    %7D%0A%0A    /**%0A     * @param first%0A     *            The first value to add%0A     * @param second%0A     *            The second value to add%0A     * @return The sum of both values as a @NonNull %7B@link BigInteger%7D%0A     */%0A    public static @NonNull BigInteger addNullsafe(final BigInteger first, final BigInteger second) %7B%0A        return Nullsafe.nonNull(first.add(second));%0A    %7D%0A%0A    /**%0A     * @param first%0A     *            The first value to subtract%0A     * @param second%0A     *            The second value to subtract%0A     * @return The difference of both values as a @NonNull %7B@link BigInteger%7D%0A     */%0A    public static @NonNull BigInteger subtractNullsafe(final BigInteger first, final BigInteger second) %7B%0A        return Nullsafe.nonNull(first.subtract(second));%0A    %7D%0A%0A    /**%0A     * @param first%0A     *            The first value to divide%0A     * @param second%0A     *            The second value to divide%0A     * @return The division of both values as a @NonNull %7B@link BigInteger%7D%0A     */%0A    public static @NonNull BigInteger divideNullsafe(final BigInteger first, final BigInteger second) %7B%0A        return Nullsafe.nonNull(first.divide(second));%0A    %7D%0A%0A    /**%0A     * @param first%0A     *            The first value to multiply%0A     * @param second%0A     *            The second value to multiply%0A     * @return The multiplication of both values as a @NonNull %7B@link BigInteger%7D%0A     */%0A    public static @NonNull BigInteger multiplyNullsafe(final BigInteger first, final BigInteger second) %7B%0A        return Nullsafe.nonNull(first.multiply(second));%0A    %7D%0A%0A%7D%0A

Add null safe math operations