docs: @Override
      public FieldTextBuilder WHEN(final FieldText fieldText) {
          Validate.notNull(fieldText, "FieldText should not be null");
          Validate.isTrue(fieldText.size() >= 1, "FieldText must have a size greater or equal to 1");
  
          if(size() < 1) {
              throw new IllegalStateException("Size must be greater than or equal to 1");
          }
  
          // Here we assume that A WHEN A => A but is there an edge case where this doesn't work?
          if(fieldText == this || toString().equals(fieldText.toString())) {
              return this;
          }
  
          if(MATCHNOTHING.equals(this) || MATCHNOTHING.equals(fieldText)) {
              return setFieldText(MATCHNOTHING);
          }
  
          return binaryOperation("WHEN", fieldText);
      }