code: public static boolean isValidDouble(@Nullable final String doubleStr, double lowerBound, double upperBound, final boolean includeLowerBound, final boolean includeUpperBound) {
          if (lowerBound > upperBound) {
              throw new IllegalArgumentException(ExceptionValues.INVALID_BOUNDS);
          } else if (!isValidDouble(doubleStr)) {
              return false;
          }
          final double aDouble = toDouble(doubleStr);
          final boolean respectsLowerBound = includeLowerBound ? Double.compare(lowerBound, aDouble) <= 0 : lowerBound < aDouble;
          final boolean respectsUpperBound = includeUpperBound ? Double.compare(aDouble, upperBound) <= 0 : aDouble < upperBound;
          return respectsLowerBound && respectsUpperBound;
      }
docs: Given an double string, it checks if it's a valid double (base on apaches NumberUtils.createDouble) and if
  it's between the lowerBound and upperBound.
  
  @param doubleStr         the integer string to check
  @param lowerBound        the lower bound of the interval
  @param upperBound        the upper bound of the interval
  @param includeLowerBound boolean if to include the lower bound of the interval
  @param includeUpperBound boolean if to include the upper bound of the interval
  @return true if the integer string is valid and in between the lowerBound and upperBound, false otherwise
  @throws IllegalArgumentException if the lowerBound is not less than the upperBound