code: public static ComplexResult2 doAndGetComplexResult2(Decorator decorator, ValidatorContext context) {
          return validate(decorator, FluentValidator.checkAll(), context, ResultCollectors.toComplex2());
      }
docs: Execute validation by using a new FluentValidator instance with a shared context.
  The result type is {@link ComplexResult2}
  
  @param decorator Same as decorator design pattern, provided to add more functions to the fluentValidator
  @param context   Validation context which can be shared
  @return ComplexResult2