Program: 30277
Project: 30277
Buggy source:
@Override public void encodeEnd(FacesContext facesContext,UIComponent component) throws IOException {
  ResponseWriter writer=facesContext.getResponseWriter();
  Draggable draggable=(Draggable)component;
  String target=findTarget(facesContext,draggable);
  writer.startElement("String_Node_Str",draggable);
  writer.writeAttribute("String_Node_Str","String_Node_Str",null);
  writer.write("String_Node_Str" + target + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + draggable.getCursor() + "String_Node_Str");
  if (draggable.isDisabled()) {
    writer.write("String_Node_Str");
  }
  if (draggable.getAxis() != null) {
    writer.write("String_Node_Str" + draggable.getAxis() + "String_Node_Str");
  }
  if (draggable.getContainment() != null) {
    writer.write("String_Node_Str" + draggable.getContainment() + "String_Node_Str");
  }
  if (draggable.getHelper() != null) {
    writer.write("String_Node_Str" + draggable.getHelper() + "String_Node_Str");
  }
  if (draggable.getRevert() != null) {
    final String revert=draggable.getRevert();
    writer.write("String_Node_Str" + (("String_Node_Str".equalsIgnoreCase(revert) || "String_Node_Str".equals(revert)) ? revert : "String_Node_Str" + revert + "String_Node_Str"));
  }
  if (draggable.getZindex() != -1) {
    writer.write("String_Node_Str" + draggable.getZindex());
  }
  if (draggable.getHandle() != null) {
    writer.write("String_Node_Str" + draggable.getHandle() + "String_Node_Str");
  }
  if (draggable.getOpacity() != 1.0) {
    writer.write("String_Node_Str" + draggable.getOpacity());
  }
  if (draggable.getRevertDuration() != null) {
    writer.write("String_Node_Str" + draggable.getRevertDuration());
  }
  if (draggable.getStack() != null) {
    writer.write("String_Node_Str" + draggable.getStack() + "String_Node_Str");
  }
  if (draggable.getGrid() != null) {
    writer.write("String_Node_Str" + draggable.getGrid() + "String_Node_Str");
  }
  if (draggable.getScope() != null) {
    writer.write("String_Node_Str" + draggable.getScope() + "String_Node_Str");
  }
  if (draggable.isSnap()) {
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + draggable.getSnapTolerance());
    if (draggable.getSnapMode() != null)     writer.write("String_Node_Str" + draggable.getSnapMode() + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.endElement("String_Node_Str");
}

Fixed version (ground truth):
@Override public void encodeEnd(FacesContext facesContext,UIComponent component) throws IOException {
  ResponseWriter writer=facesContext.getResponseWriter();
  Draggable draggable;
  if (component instanceof Draggable) {
    draggable=(Draggable)component;
  }
 else {
    throw new FacesException("String_Node_Str" + component.getId());
  }
  String target=findTarget(facesContext,draggable);
  writer.startElement("String_Node_Str",draggable);
  writer.writeAttribute("String_Node_Str","String_Node_Str",null);
  writer.write("String_Node_Str" + target + "String_Node_Str");
  writer.write("String_Node_Str");
  writer.write("String_Node_Str" + draggable.getCursor() + "String_Node_Str");
  if (draggable.isDisabled()) {
    writer.write("String_Node_Str");
  }
  if (draggable.getAxis() != null) {
    writer.write("String_Node_Str" + draggable.getAxis() + "String_Node_Str");
  }
  if (draggable.getContainment() != null) {
    writer.write("String_Node_Str" + draggable.getContainment() + "String_Node_Str");
  }
  if (draggable.getHelper() != null) {
    writer.write("String_Node_Str" + draggable.getHelper() + "String_Node_Str");
  }
  if (draggable.getRevert() != null) {
    final String revert=draggable.getRevert();
    writer.write("String_Node_Str" + (("String_Node_Str".equalsIgnoreCase(revert) || "String_Node_Str".equals(revert)) ? revert : "String_Node_Str" + revert + "String_Node_Str"));
  }
  if (draggable.getZindex() != -1) {
    writer.write("String_Node_Str" + draggable.getZindex());
  }
  if (draggable.getHandle() != null) {
    writer.write("String_Node_Str" + draggable.getHandle() + "String_Node_Str");
  }
  if (draggable.getOpacity() != 1.0) {
    writer.write("String_Node_Str" + draggable.getOpacity());
  }
  if (draggable.getRevertDuration() != null) {
    writer.write("String_Node_Str" + draggable.getRevertDuration());
  }
  if (draggable.getStack() != null) {
    writer.write("String_Node_Str" + draggable.getStack() + "String_Node_Str");
  }
  if (draggable.getGrid() != null) {
    writer.write("String_Node_Str" + draggable.getGrid() + "String_Node_Str");
  }
  if (draggable.getScope() != null) {
    writer.write("String_Node_Str" + draggable.getScope() + "String_Node_Str");
  }
  if (draggable.isSnap()) {
    writer.write("String_Node_Str");
    writer.write("String_Node_Str" + draggable.getSnapTolerance());
    if (draggable.getSnapMode() != null)     writer.write("String_Node_Str" + draggable.getSnapMode() + "String_Node_Str");
  }
  writer.write("String_Node_Str");
  writer.endElement("String_Node_Str");
}