Program: 177167
Project: 177167
Buggy source:
/** 
 * The imported namespace of a specific schema.
 * @return The imported namespace of a specific schema.
 */
public Set<String> getReferencedNamespaces(){
  Set<String> referencedNamespaces=new HashSet<String>();
  for (  TypeDefinition typeDefinition : getTypeDefinitions()) {
    addReferencedNamespaces(typeDefinition,referencedNamespaces);
  }
  for (  RootElementDeclaration rootElement : getGlobalElements()) {
    referencedNamespaces.add(rootElement.getNamespace());
    referencedNamespaces.add(rootElement.getTypeDefinition().getNamespace());
  }
  for (  ImplicitSchemaElement schemaElement : implicitSchemaElements) {
    QName typeQName=schemaElement.getTypeQName();
    if (typeQName != null) {
      referencedNamespaces.add(typeQName.getNamespaceURI());
    }
    if (schemaElement instanceof ImplicitRootElement) {
      for (      ImplicitChildElement childElement : ((ImplicitRootElement)schemaElement).getChildElements()) {
        addReferencedNamespaces(childElement.getXmlType(),referencedNamespaces);
      }
    }
  }
  for (  ImplicitSchemaAttribute schemaAttribute : implicitSchemaAttributes) {
    QName typeQName=schemaAttribute.getTypeQName();
    if (typeQName != null) {
      referencedNamespaces.add(typeQName.getNamespaceURI());
    }
  }
  referencedNamespaces.add(getNamespace());
  referencedNamespaces.remove("String_Node_Str");
  if (referencedNamespaces.remove(null)) {
    referencedNamespaces.add("String_Node_Str");
  }
  return referencedNamespaces;
}

Fixed version (ground truth):
/** 
 * The imported namespace of a specific schema.
 * @return The imported namespace of a specific schema.
 */
public Set<String> getReferencedNamespaces(){
  Set<String> referencedNamespaces=new HashSet<String>();
  for (  TypeDefinition typeDefinition : getTypeDefinitions()) {
    addReferencedNamespaces(typeDefinition,referencedNamespaces);
  }
  for (  RootElementDeclaration rootElement : getGlobalElements()) {
    referencedNamespaces.add(rootElement.getNamespace());
    referencedNamespaces.add(rootElement.getTypeDefinition().getNamespace());
  }
  for (  ImplicitSchemaElement schemaElement : implicitSchemaElements) {
    QName typeQName=schemaElement.getTypeQName();
    if (typeQName != null) {
      referencedNamespaces.add(typeQName.getNamespaceURI());
    }
    if (schemaElement instanceof ImplicitRootElement) {
      for (      ImplicitChildElement childElement : ((ImplicitRootElement)schemaElement).getChildElements()) {
        addReferencedNamespaces(childElement.getXmlType(),referencedNamespaces);
      }
    }
  }
  for (  ImplicitSchemaAttribute schemaAttribute : implicitSchemaAttributes) {
    QName typeQName=schemaAttribute.getTypeQName();
    if (typeQName != null) {
      referencedNamespaces.add(typeQName.getNamespaceURI());
    }
  }
  for (  LocalElementDeclaration localElementDeclaration : localElementDeclarations) {
    QName typeQName=localElementDeclaration.getElementXmlType().getQname();
    if (typeQName != null) {
      referencedNamespaces.add(typeQName.getNamespaceURI());
    }
  }
  referencedNamespaces.add(getNamespace());
  referencedNamespaces.remove("String_Node_Str");
  if (referencedNamespaces.remove(null)) {
    referencedNamespaces.add("String_Node_Str");
  }
  return referencedNamespaces;
}