Program: 12697
Project: 12697
Buggy source:
private ComponentDefinition(ComponentDefinition componentDefinition){
  super(componentDefinition);
  Set<URI> types=new HashSet<>();
  for (  URI type : componentDefinition.getTypes()) {
    types.add(URI.create(type.toString()));
  }
  setTypes(types);
  if (!componentDefinition.getRoles().isEmpty()) {
    Set<URI> roles=new HashSet<>();
    for (    URI role : componentDefinition.getRoles()) {
      roles.add(URI.create(role.toString()));
    }
    this.setRoles(roles);
  }
  if (!componentDefinition.getComponents().isEmpty()) {
    List<Component> subComponents=new ArrayList<>();
    for (    Component subComponent : componentDefinition.getComponents()) {
      subComponents.add(subComponent.deepCopy());
    }
    this.setComponents(subComponents);
  }
  if (!componentDefinition.getSequenceConstraints().isEmpty()) {
    List<SequenceConstraint> sequenceConstraints=new ArrayList<>();
    for (    SequenceConstraint sequenceConstraint : componentDefinition.getSequenceConstraints()) {
      sequenceConstraints.add(sequenceConstraint.deepCopy());
    }
    this.setSequenceConstraints(sequenceConstraints);
  }
  if (!componentDefinition.getSequenceAnnotations().isEmpty()) {
    List<SequenceAnnotation> sequenceAnnotations=new ArrayList<>();
    for (    SequenceAnnotation sequenceAnnotation : componentDefinition.getSequenceAnnotations()) {
      sequenceAnnotations.add(sequenceAnnotation.deepCopy());
    }
    this.setSequenceAnnotations(sequenceAnnotations);
  }
  this.setSequences(componentDefinition.getSequenceURIs());
}

Fixed version (ground truth):
private ComponentDefinition(ComponentDefinition componentDefinition){
  super(componentDefinition);
  this.types=new HashSet<>();
  this.roles=new HashSet<>();
  this.sequences=new HashSet<>();
  this.components=new HashMap<>();
  this.sequenceAnnotations=new HashMap<>();
  this.sequenceConstraints=new HashMap<>();
  Set<URI> types=new HashSet<>();
  for (  URI type : componentDefinition.getTypes()) {
    types.add(URI.create(type.toString()));
  }
  setTypes(types);
  if (!componentDefinition.getRoles().isEmpty()) {
    Set<URI> roles=new HashSet<>();
    for (    URI role : componentDefinition.getRoles()) {
      roles.add(URI.create(role.toString()));
    }
    this.setRoles(roles);
  }
  if (!componentDefinition.getComponents().isEmpty()) {
    List<Component> subComponents=new ArrayList<>();
    for (    Component subComponent : componentDefinition.getComponents()) {
      subComponents.add(subComponent.deepCopy());
    }
    this.setComponents(subComponents);
  }
  if (!componentDefinition.getSequenceConstraints().isEmpty()) {
    List<SequenceConstraint> sequenceConstraints=new ArrayList<>();
    for (    SequenceConstraint sequenceConstraint : componentDefinition.getSequenceConstraints()) {
      sequenceConstraints.add(sequenceConstraint.deepCopy());
    }
    this.setSequenceConstraints(sequenceConstraints);
  }
  if (!componentDefinition.getSequenceAnnotations().isEmpty()) {
    List<SequenceAnnotation> sequenceAnnotations=new ArrayList<>();
    for (    SequenceAnnotation sequenceAnnotation : componentDefinition.getSequenceAnnotations()) {
      sequenceAnnotations.add(sequenceAnnotation.deepCopy());
    }
    this.setSequenceAnnotations(sequenceAnnotations);
  }
  this.setSequences(componentDefinition.getSequenceURIs());
}