title: Prepare for submit event not called in Tapestry
body: <p>I have a form in tml file of a Tapestry component.</p>
  
  <pre><code>...
  &lt;t:form t:id="searchForm" clientValidation="none"&gt;
      ....
      &lt;t:select t:id="globalSport" model="globalSportModel" value="formData.globalSportId" blankOption="never"/&gt;
      ....
  &lt;/t:form&gt;
  ..
  </code></pre>
  
  <p>And here is the important part of corresponding Java file:</p>
  
  <pre><code>...
  @Property(read = true, write = false)
  private ServiceSearchFormData formData;
  ...
  @OnEvent(value = EventConstants.PREPARE_FOR_SUBMIT, component = "searchForm")
  void prepareForSubmit()
  {
      formData = new ServiceSearchFormData();
  }
  ...
  </code></pre>
  
  <p>It seems to be pretty straightforward. <code>ServiceSearchFormData</code> is a DTO with few attributes and getter / setter methods. It encapsulates data submitted in the form. An instance is created on "prepare for submit" event. ... and it works fine.</p>
  
  <p>However, an exception is thrown in production environment occasionally. I am not able to reproduce it. It happens in scope of POST request that submits data to this form. The exception message states:</p>
  
  <p>Failure writing parameter 'value' of component MyPortal:portalindex.portalsearchform.globalsport: Property 'formData' (within property expression 'formData.globalSportId', of cz.ftm.fitsoftware.webapp.components.PortalSearchForm@3262579e) is null.</p>
  
  <p>How is that possible? How can the property <code>formData</code> be uninitialized? Can this rare (but regular) exception be caused by malformed value of <code>t:formdata</code> parameter of POST request?</p>
  
  <p>Thanks for any help.</p>