Program: 15614
Project: 15614
Buggy source:
@Override public Panel createWidget(List<PresentationAttr> presentationAttributes){
  FacesContext fc=FacesContext.getCurrentInstance();
  Application application=fc.getApplication();
  parseAttributes(presentationAttributes);
  widget=(org.primefaces.component.gmap.GMap)application.createComponent(fc,"String_Node_Str","String_Node_Str");
  widget.setId("String_Node_Str" + System.nanoTime());
  widget.setStyleClass("String_Node_Str");
  widget.setType("String_Node_Str");
  widget.setCenter(centerLat + "String_Node_Str" + centerLon);
  widget.setZoom(zoom);
  widget.setRendered(true);
  panel=(Panel)application.createComponent(fc,"String_Node_Str","String_Node_Str");
  panel.setId("String_Node_Str" + System.nanoTime());
  panel.setHeader(title);
  panel.setClosable(false);
  panel.setToggleable(false);
  panel.setStyleClass("String_Node_Str");
  panel.getChildren().add(widget);
  CommandLink clearLink=(CommandLink)application.createComponent(fc,"String_Node_Str","String_Node_Str");
  clearLink.setAjax(true);
  clearLink.setOnclick("String_Node_Str");
  clearLink.setOncomplete("String_Node_Str");
  clearLink.setProcess("String_Node_Str");
  clearLink.setStyleClass("String_Node_Str");
  HtmlOutputText btn=new HtmlOutputText();
  btn.setStyleClass("String_Node_Str");
  clearLink.getChildren().add(btn);
  clearLink.addActionListener(new ActionListener(){
    @Override public void processAction(    ActionEvent arg0) throws AbortProcessingException {
      clearData();
    }
  }
);
  panel.getFacets().put("String_Node_Str",clearLink);
  model=new DefaultMapModel();
  widget.setModel(model);
  return panel;
}

Fixed version (ground truth):
@Override public Panel createWidget(String serviceId,List<PresentationAttr> presentationAttributes){
  FacesContext fc=FacesContext.getCurrentInstance();
  Application application=fc.getApplication();
  parseAttributes(presentationAttributes);
  mapViewType=mapType.toString();
  mapCenter=centerLat + "String_Node_Str" + centerLon;
  mapZoom=zoom;
  model=new DefaultMapModel();
  widget=(org.primefaces.component.gmap.GMap)application.createComponent(fc,"String_Node_Str","String_Node_Str");
  widget.setId("String_Node_Str" + System.nanoTime());
  widget.setWidgetVar(widget.getId());
  widget.setStyleClass("String_Node_Str");
  widget.setValueExpression("String_Node_Str",application.getExpressionFactory().createValueExpression(fc.getELContext(),"String_Node_Str" + serviceId + "String_Node_Str",String.class));
  widget.setValueExpression("String_Node_Str",application.getExpressionFactory().createValueExpression(fc.getELContext(),"String_Node_Str" + serviceId + "String_Node_Str",String.class));
  widget.setValueExpression("String_Node_Str",application.getExpressionFactory().createValueExpression(fc.getELContext(),"String_Node_Str" + serviceId + "String_Node_Str",Integer.class));
  widget.setRendered(true);
  widget.setMapTypeControl(true);
  widget.setModel(model);
  MethodExpression dummyExpression=application.getExpressionFactory().createMethodExpression(fc.getELContext(),"String_Node_Str",void.class,new Class[]{});
  MethodExpression stateChangeMethodExpression=application.getExpressionFactory().createMethodExpression(fc.getELContext(),"String_Node_Str" + serviceId + "String_Node_Str",void.class,new Class[]{StateChangeEvent.class});
  AjaxBehavior ajaxBehavior=new AjaxBehavior();
  ajaxBehavior.setProcess("String_Node_Str");
  ajaxBehavior.addAjaxBehaviorListener(new AjaxBehaviorListenerImpl(dummyExpression,stateChangeMethodExpression));
  widget.addClientBehavior("String_Node_Str",ajaxBehavior);
  MethodExpression markerSelectMethodExpression=application.getExpressionFactory().createMethodExpression(fc.getELContext(),"String_Node_Str" + serviceId + "String_Node_Str",void.class,new Class[]{OverlaySelectEvent.class});
  ajaxBehavior=new AjaxBehavior();
  ajaxBehavior.setProcess("String_Node_Str");
  ajaxBehavior.addAjaxBehaviorListener(new AjaxBehaviorListenerImpl(dummyExpression,markerSelectMethodExpression));
  widget.addClientBehavior("String_Node_Str",ajaxBehavior);
  GMapInfoWindow infoWindow=new GMapInfoWindow();
  infoWindow.setId("String_Node_Str" + System.nanoTime());
  OutputPanel infoWindowPanel=new OutputPanel();
  infoWindowPanel.setStyleClass("String_Node_Str");
  infoWindowContent=new HtmlOutputText();
  infoWindowContent.setEscape(false);
  infoWindowPanel.getChildren().add(infoWindowContent);
  infoWindow.getChildren().add(infoWindowPanel);
  widget.getChildren().add(infoWindow);
  panel=(Panel)application.createComponent(fc,"String_Node_Str","String_Node_Str");
  panel.setId("String_Node_Str" + System.nanoTime());
  panel.setHeader(title != null ? title : "String_Node_Str");
  panel.setClosable(false);
  panel.setToggleable(false);
  panel.setStyleClass("String_Node_Str" + serviceId);
  panel.getChildren().add(widget);
  CommandLink clearLink=(CommandLink)application.createComponent(fc,"String_Node_Str","String_Node_Str");
  clearLink.setAjax(true);
  clearLink.setOnclick("String_Node_Str");
  clearLink.setOncomplete("String_Node_Str");
  clearLink.setProcess("String_Node_Str");
  clearLink.setStyleClass("String_Node_Str");
  HtmlOutputText btn=new HtmlOutputText();
  btn.setStyleClass("String_Node_Str");
  clearLink.getChildren().add(btn);
  clearLink.addActionListener(new ActionListener(){
    @Override public void processAction(    ActionEvent arg0) throws AbortProcessingException {
      clearData();
    }
  }
);
  panel.getFacets().put("String_Node_Str",clearLink);
  return panel;
}