anchor.diff:    Result := (Self.NotNull) and (Self.Value);
   end;
   
  +function TNullableBoolean.ValueIsEqual(const aValue: Boolean): boolean;
  +begin
  +  Result := Self.AsBoolean = aValue;
  +end;
  +
  +function TNullableBoolean.ValueIsEqual(const aValue: TNullableBoolean): boolean;
  +begin
  +  if Self.IsNull then
  +    Result := aValue.IsNull
  +  else
  +    Result := aValue.NotNull and ValueIsEqual(aValue.Value);
  +end;
  +
   function TNullableBoolean.CheckIfDifferentAndAssign(const aValue: Variant): boolean;
   var
     tmpBool : boolean;
  
positive.code:     procedure Trim();
      procedure Uppercase();
      procedure ChangeToBlankIfNull;
      function IsEqual (const aValue : String) : boolean;
      function IsEqualCaseInsensitive (const aValue : String): boolean;
  
      class function StringToVariant(const aValue: String; const aAllowBlankValues : boolean): Variant;
      class function VariantToString(const aValue: Variant): String;
  
negative.code:     function AsString: String; override;
      function AsStringUseNumbers : String;
      function AsBoolean: Boolean;
      function ValueIsEqual (const aValue : Boolean) : boolean; overload;
      function ValueIsEqual (const aValue : TNullableBoolean) : boolean; overload;
  
      class function StringToVariant(const aValue: String): Variant;
      class function VariantToString(const aValue: Variant): String;
  