title: event.getOverlay returns null eventhough the overlay is added
body: <p>My xhtml code snippet</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;p:gmap id="gMap" center="17.483333,78.416667" zoom="15" type="ROADMAP" model="#{routeMapngSysMBean.simpleModel}" style="width: 1150px; height: 450px;"&gt;  
      &lt;p:ajax event="overlaySelect" listener="#{routeMapngSysMBean.onMarkerSelect}" /&gt;  
      &lt;p:gmapInfoWindow&gt;  
          &lt;p:outputPanel style="text-align:center;display:block;"&gt;
                &lt;h:outputText value="#{routeMapngSysMBean.marker.data}" /&gt;
          &lt;/p:outputPanel&gt;  
      &lt;/p:gmapInfoWindow&gt;  
  &lt;/p:gmap&gt;       
  </code></pre>
  
  <p>RouteMappingMBean.java</p>
  
  <pre class="lang-java prettyprint-override"><code>import org.primefaces.event.map.OverlaySelectEvent;
  import org.primefaces.model.map.DefaultMapModel;
  import org.primefaces.model.map.LatLng;``
  import org.primefaces.model.map.MapModel;
  import org.primefaces.model.map.Marker;
  
  @ManagedBean(name = "routeMapngSysMBean")
  @SessionScoped
  public class RouteMapngSysMBean extends AdminCommonMBean implements
      Serializable, WebConstants, ErrorConstants {
  private MapModel simpleModel;
  
  public RouteMapngSysMBean() {
      initiliaze();
  
      String zone_cd = httpServletRequest
              .getParameter("routeMapForm:location");
  
      String vendor_cd = httpServletRequest
              .getParameter("routeMapForm:vendor");
  
      String dDate = httpServletRequest.getParameter("routeMapForm:date");
      String slot = httpServletRequest.getParameter("routeMapForm:timeslot");
      try {
          if (orderMgmtBusn == null) {
              orderMgmtBusn = (OrderMgmtBusn) BeansUtil.getBean(facesContext,
                      "orderMgmtBusn");
          }
          simpleModel = new DefaultMapModel();
          if (ValidateUtil.isFieldNotEmpty(vendor_cd)
                  &amp;&amp; ValidateUtil.isFieldNotEmpty(zone_cd)
                  &amp;&amp; ValidateUtil.isFieldNotEmpty(dDate)
                  &amp;&amp; ValidateUtil.isFieldNotEmpty(slot)) {
                  mapDetails = orderMgmtBusn.getMapDetails(vendor_cd,slot,dDate, zone_cd);
          }
          List&lt;GMapDetails&gt; latlang = mapDetails;
          for (GMapDetails var : latlang) {
              if (ValidateUtil.isFieldNotEmpty(var.getLatitude()) &amp;&amp;                 ValidateUtil.isFieldNotEmpty(var.getLongitude())) {
                  firstName = var.getCustomerFName();
                  customerId = var.getCustomerId();
                  orderId = var.getOrderId();
                  orderValue = var.getOrderValue();
                  String Customerdetails = "\n CustomerName:"+firstName+"\n CustomerId:"+customerId+"\n OrderId:"+orderId+"\n OrderValue:"+orderValue;
                  lat = Double.parseDouble(var.getLatitude());
                  lng = Double.parseDouble(var.getLongitude());
                  LatLng coord1 = new LatLng(lat, lng);
                  simpleModel.addOverlay(new Marker(coord1, var.getLocationName(),Customerdetails));
              }
          }
      } catch (EMartBusnException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
  
  }
  
  public void initiliaze() {
      try {
          WebApplicationContext springContext = WebApplicationContextUtils
                  .getWebApplicationContext((ServletContext) facesContext
                          .getExternalContext().getContext());
          if (emartAppBaseBusn == null) {
              emartAppBaseBusn = (EmartAppBaseBusn) springContext
                      .getBean("emartAppBaseBusn");
          }
          avilableStoreTypes = BeanMappingUtil
                  .filterVendorZones(emartAppBaseBusn.retriveZones());
          retriveAllVendorsList = emartAppBaseBusn.retriveAllVendorsList();
          zonesList = BeanMappingUtil.filterVendorZones(emartAppBaseBusn
                  .getZones());
  
      } catch (EMartBusnException e) {
          logger.error(e);
      }
  }
  
  public void onMarkerSelect(OverlaySelectEvent event) {  
      marker = (Marker) event.getOverlay();  
  }   
  
  public MapModel getSimpleModel() {
      return simpleModel;
  }
  
  public void setSimpleModel(MapModel simpleModel) {
      this.simpleModel = simpleModel;
  } 
  
  public Marker getMarker() {
      return marker;
  }
  </code></pre>