docs: public void buildWith(final DescriptionBuilder builder) {
          //override the annotated description of this plugin
          builder.title("Example Remote Script Node Step");
          builder.description("Demonstrates a remote script node step");
  
          /**
           * calling DescriptionBuilder.property() will replace an existing property of
           * the same name.
           */
          builder.property(
              /**
               * In this case builder.property("money") returns the existing property we
               * have already defined via annotation, allowing us to modify it with the {@link PropertyBuilder}
               *
               */
              builder.property("money")
                  /**
                   * change the property's description
                   */
                  .description("How much money? (1..5)")
                      /**
                       * set a custom validator for the property
                       */
                  .validator(new PropertyValidator() {
                      public boolean isValid(String s) throws ValidationException {
                          try {
                              final int i = Integer.parseInt(s);
                              if (i <= 0 || i >= 6) {
                                  //throw ValidationException to indicate a problem, with a reason
                                  throw new ValidationException("Must be between 1 and 5");
                              }
                          } catch (NumberFormatException e) {
                              throw new ValidationException("Not a valid integer");
                          }
                          return true;
                      }
  
                  })
          );
  
          /**
           * Here we create a wholly new property not bound to an existing instance field.  The runtime
           * value for this property will be included in the input configuration map when the plugin method is called.
           */
          builder.property(
              PropertyBuilder.builder()
                  .string("fakey")
                  .title("Fake")
                  .description("Extra value")
          );
      }