Program: 143480
Project: 143480
Buggy source:
@SuppressWarnings("String_Node_Str") public JSONWriter propertiesAsJSON(JSONWriter writer) throws JSONException {
  Map<String,Object> properties=new HashMap<>();
  WebComponentSpecification componentSpec=getWebComponentSpec();
  Map<String,PropertyDescription> propDescription=componentSpec.getProperties();
  for (  PropertyDescription pd : propDescription.values()) {
    Object val=getProperty(pd.getName());
    if (val == null)     continue;
    IPropertyType type=pd.getType();
    if (type instanceof DataproviderPropertyType || type instanceof FormatPropertyType || type instanceof ValueListPropertyType) {
      continue;
    }
    if (type instanceof TagStringPropertyType) {
      if (((String)val).contains("String_Node_Str"))       continue;
    }
    properties.put(pd.getName(),val);
  }
  if (persistImpl == null || !persistImpl.isForm()) {
    Map<String,Object> propertiesMap=new HashMap<>(propertyValues);
    Dimension dim=getDesignSize();
    properties.put(StaticContentSpecLoader.PROPERTY_SIZE.getPropertyName(),dim);
    Integer anchor=(Integer)propertiesMap.get(StaticContentSpecLoader.PROPERTY_ANCHORS.getPropertyName());
    if (anchor != null) {
      properties.put(StaticContentSpecLoader.PROPERTY_ANCHORS.getPropertyName(),anchor);
    }
  }
  if (propertyValues.containsKey("String_Node_Str"))   properties.put("String_Node_Str",propertyValues.get("String_Node_Str"));
  JSONWriter propertyWriter=(writer != null ? writer : new JSONStringer());
  try {
    propertyWriter.object();
    JSONUtils.writeDataWithConversions(propertyWriter,properties,NGClientForJsonConverter.INSTANCE,ConversionLocation.BROWSER);
    return propertyWriter.endObject();
  }
 catch (  JSONException|IllegalArgumentException e) {
    Debug.error("String_Node_Str" + getTagname() + "String_Node_Str",e);
    throw e;
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public JSONWriter propertiesAsJSON(JSONWriter writer) throws JSONException {
  Map<String,Object> properties=new HashMap<>();
  WebComponentSpecification componentSpec=getWebComponentSpec();
  Map<String,PropertyDescription> propDescription=componentSpec.getProperties();
  for (  PropertyDescription pd : propDescription.values()) {
    Object val=getProperty(pd.getName());
    if (val == null)     continue;
    IPropertyType type=pd.getType();
    if (type instanceof DataproviderPropertyType || type instanceof FormatPropertyType || type instanceof ValueListPropertyType|| type instanceof MediaPropertyType) {
      continue;
    }
    if (type instanceof TagStringPropertyType) {
      if (((String)val).contains("String_Node_Str"))       continue;
    }
    properties.put(pd.getName(),val);
  }
  if (persistImpl == null || !persistImpl.isForm()) {
    Map<String,Object> propertiesMap=new HashMap<>(propertyValues);
    Dimension dim=getDesignSize();
    properties.put(StaticContentSpecLoader.PROPERTY_SIZE.getPropertyName(),dim);
    Integer anchor=(Integer)propertiesMap.get(StaticContentSpecLoader.PROPERTY_ANCHORS.getPropertyName());
    if (anchor != null) {
      properties.put(StaticContentSpecLoader.PROPERTY_ANCHORS.getPropertyName(),anchor);
    }
  }
  if (propertyValues.containsKey("String_Node_Str"))   properties.put("String_Node_Str",propertyValues.get("String_Node_Str"));
  JSONWriter propertyWriter=(writer != null ? writer : new JSONStringer());
  try {
    propertyWriter.object();
    JSONUtils.writeDataWithConversions(propertyWriter,properties,NGClientForJsonConverter.INSTANCE,ConversionLocation.BROWSER);
    return propertyWriter.endObject();
  }
 catch (  JSONException|IllegalArgumentException e) {
    Debug.error("String_Node_Str" + getTagname() + "String_Node_Str",e);
    throw e;
  }
}