protected void checkSupported(Number number) {
        if (number instanceof Integer
                || number instanceof Long
                || number instanceof Short
                ||number instanceof Byte) {
        } else if (number instanceof BigInteger) {
            BigInteger bi = (BigInteger) number;
            if (bi.abs().compareTo(MAX_SUPPORTED) > 0) {
                throw new IllegalArgumentException("Max supported number:" + MAX_SUPPORTED);
            }
        } else {
            throw new IllegalArgumentException("Support only Integer numbers: BigInteger, Integer, Long and Short."
                    + "Floating-point is not supported");
        }
    }