It's described here in detail:
http://stackoverflow.com/questions/5648607/simpleframework-deserializing-an-empty-element-to-an-empty-string-instead-of-nu
Personally, I think that for XML elements, reading and writing should be consistent and allow for a round-trip with identical results unless there's a good reason not to. It's surprising, then, that the contents of <fooElement></fooElement> are de-serialized into null (unexpected), while serializing null results in no element being written (expected) and an empty string results in <fooElement></fooElement> (also expected). Obviously I could write a Converter or Transformer to change this, but I can't think of a reason why this is not the default behaviour.