docs: public static <T> List<T> takeWhile(List<T> self, @ClosureParams(FirstParam.FirstGenericType.class) Closure condition) {
          int num = 0;
          BooleanClosureWrapper bcw = new BooleanClosureWrapper(condition);
          for (T value : self) {
              if (bcw.call(value)) {
                  num += 1;
              } else {
                  break;
              }
          }
          return take(self, num);
      }