code: public static BigDecimal subtract(final BigDecimal start, final BigDecimal... values) {
          BigDecimal total = start != null ? start : BigDecimal.ZERO;
          if (values != null) {
              for (final BigDecimal v : values) {
                  total = doSubtract(total, v);
              }
          }
          return total;
      }
docs: Subtract n BigDecimal safely from the start value (i.e. handles nulls as zeros), returns 0
  @param start starting point, if null, use 0
  @param values series of BigDecimal to subtract from start, can be null / empty
  @return start - the series of values