docs: public static <T> Maker<T> startFrom(T start, long difference) {
          if (Integer.class.isInstance(start)) {
              return new IntervalIntegerValuesMaker<T>(start, difference);
          }
          if (Long.class.isInstance(start)) {
              return new IntervalLongValuesMaker<T>(start, difference);
          }
          if (Date.class.isInstance(start)) {
              return new IntervalDateValuesMaker<T>(start, difference);
          }
          if (String.class.isInstance(start)) {
              return new IntervalStringValuesMaker<T>((String) start, difference);
          }
          throw new UnsupportedOperationException("only support Number, Date and String type");
      }