<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Bill Shannon asked me to forward
    <pre wrap=""><a class="moz-txt-link-freetext" href="http://java.net/projects/javaee-spec/lists/jsr342-experts/archive/2013-03/message/7">http://java.net/projects/javaee-spec/lists/jsr342-experts/archive/2013-03/message/7</a></pre>
    to the EG.&nbsp; I have pasted it here.&nbsp; I will forward any feedback to
    Bill<br>
    <br>
    <h2 class="pageTitle">[jsr342-experts] transactional interceptors
      and lifecycle methods</h2>
    <br>
    We&nbsp;recently&nbsp;discovered&nbsp;an&nbsp;issue&nbsp;with&nbsp;the&nbsp;interaction&nbsp;between&nbsp;the<br>
    new&nbsp;@Transactional&nbsp;interceptors&nbsp;and&nbsp;the&nbsp;@PostConstruct&nbsp;method.<br>
    Should&nbsp;@PostContruct&nbsp;(and&nbsp;@PreDestroy)&nbsp;methods&nbsp;be&nbsp;transactional,<br>
    and&nbsp;if&nbsp;so&nbsp;how&nbsp;should&nbsp;the&nbsp;transaction&nbsp;type&nbsp;be&nbsp;controlled?<br>
    <br>
    We'd&nbsp;like&nbsp;your&nbsp;feedback&nbsp;on&nbsp;this&nbsp;issue&nbsp;before&nbsp;Friday,&nbsp;March&nbsp;15.<br>
    <br>
    We've&nbsp;come&nbsp;up&nbsp;with&nbsp;four&nbsp;options&nbsp;for&nbsp;how&nbsp;this&nbsp;could&nbsp;work:<br>
    <br>
1.&nbsp;@PostConstruct&nbsp;is&nbsp;not&nbsp;transactional&nbsp;by&nbsp;default,&nbsp;but&nbsp;@Transactional<br>
    &nbsp;&nbsp;&nbsp;is&nbsp;allowed.<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;run&nbsp;with&nbsp;no&nbsp;transaction<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyOtherBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(REQUIRES_NEW)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;run&nbsp;with&nbsp;a&nbsp;new&nbsp;transaction<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
2.&nbsp;@PostConstruct&nbsp;is&nbsp;like&nbsp;any&nbsp;other&nbsp;method&nbsp;and&nbsp;inherits&nbsp;the&nbsp;class-level<br>
&nbsp;&nbsp;&nbsp;transaction&nbsp;attribute,&nbsp;but&nbsp;the&nbsp;developer&nbsp;must&nbsp;override&nbsp;the&nbsp;class-level<br>
    &nbsp;&nbsp;&nbsp;attribute&nbsp;in&nbsp;some&nbsp;cases.<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;FAILS&nbsp;because&nbsp;there&nbsp;can&nbsp;be&nbsp;no&nbsp;existing&nbsp;transaction&nbsp;context<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyOtherBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(REQUIRES_NEW)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;run&nbsp;with&nbsp;a&nbsp;new&nbsp;transaction<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
3.&nbsp;@PostConstruct&nbsp;is&nbsp;like&nbsp;any&nbsp;other&nbsp;method&nbsp;and&nbsp;inherits&nbsp;the&nbsp;class-level<br>
    &nbsp;&nbsp;&nbsp;transaction&nbsp;attribute,&nbsp;but&nbsp;methods&nbsp;(like&nbsp;lifecycle&nbsp;callbacks)&nbsp;for<br>
&nbsp;&nbsp;&nbsp;which&nbsp;there&nbsp;can&nbsp;be&nbsp;no&nbsp;preexisting&nbsp;transaction&nbsp;context&nbsp;are&nbsp;handled&nbsp;as<br>
&nbsp;&nbsp;&nbsp;if&nbsp;they&nbsp;were&nbsp;REQUIRES_NEW&nbsp;when&nbsp;the&nbsp;MANDATORY&nbsp;attribute&nbsp;is&nbsp;specified<br>
    &nbsp;&nbsp;&nbsp;(i.e.,&nbsp;the&nbsp;attribute&nbsp;value&nbsp;handling&nbsp;here&nbsp;is&nbsp;special-cased).<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;runs&nbsp;with&nbsp;a&nbsp;new&nbsp;transaction<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyOtherBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(REQUIRES_NEW)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;run&nbsp;with&nbsp;a&nbsp;new&nbsp;transaction,&nbsp;same&nbsp;as&nbsp;above<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
4.&nbsp;@PostConstruct&nbsp;can&nbsp;never&nbsp;be&nbsp;transactional.&nbsp;&nbsp;UserTransaction&nbsp;can&nbsp;be<br>
    &nbsp;&nbsp;&nbsp;used&nbsp;explicitly&nbsp;in&nbsp;the&nbsp;@PostConstruct&nbsp;method&nbsp;if&nbsp;needed.<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;runs&nbsp;with&nbsp;no&nbsp;transaction&nbsp;context<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;class&nbsp;MyOtherBean&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@PostConstruct<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Transactional(REQUIRES_NEW)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;postConstruct()&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;@Transactional&nbsp;is&nbsp;either&nbsp;ignored&nbsp;or&nbsp;causes&nbsp;runtime&nbsp;failure<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;myMethod()&nbsp;{<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;uses&nbsp;@Transactional(MANDATORY)<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
    <br>
    <br>
#1&nbsp;is&nbsp;most&nbsp;similar&nbsp;to&nbsp;stateful&nbsp;session&nbsp;beans&nbsp;in&nbsp;the&nbsp;current&nbsp;version&nbsp;of<br>
    the&nbsp;EJB&nbsp;spec.&nbsp;&nbsp;When&nbsp;the&nbsp;ability&nbsp;to&nbsp;have&nbsp;transactional&nbsp;@PostConstruct<br>
    methods&nbsp;on&nbsp;stateful&nbsp;session&nbsp;beans&nbsp;was&nbsp;added&nbsp;to&nbsp;the&nbsp;EJB&nbsp;spec,&nbsp;it<br>
    couldn't&nbsp;be&nbsp;done&nbsp;by&nbsp;default&nbsp;due&nbsp;to&nbsp;compatibility.<br>
    <br>
#3&nbsp;is&nbsp;consistent&nbsp;with&nbsp;Singletons&nbsp;in&nbsp;the&nbsp;current&nbsp;version&nbsp;of&nbsp;the&nbsp;EJB&nbsp;spec.<br>
    <br>
    #4&nbsp;is&nbsp;most&nbsp;similar&nbsp;to&nbsp;previous&nbsp;versions&nbsp;of&nbsp;the&nbsp;EJB&nbsp;spec.<br>
    <br>
We're&nbsp;currently&nbsp;leaning&nbsp;towards&nbsp;#3,&nbsp;since&nbsp;it&nbsp;seems&nbsp;consistent&nbsp;with&nbsp;other<br>
interceptor&nbsp;use,&nbsp;but&nbsp;good&nbsp;arguments&nbsp;can&nbsp;be&nbsp;made&nbsp;for&nbsp;any&nbsp;of&nbsp;these&nbsp;choices.<br>
    We&nbsp;really&nbsp;need&nbsp;your&nbsp;feedback.<br>
    <br>
    Let&nbsp;us&nbsp;know&nbsp;which&nbsp;choice&nbsp;you&nbsp;prefer&nbsp;before&nbsp;Friday,&nbsp;March&nbsp;15.<br>
    <br>
    <br>
  </body>
</html>