Program: 5408
Project: 5408
Buggy source:
@Override public void startElement(String uri,String localName,String qName,Attributes attributes){
  try {
    if (localName.equals("String_Node_Str")) {
      for (int i=0; i < attributes.getLength(); i++) {
        if (attributes.getLocalName(i).equals("String_Node_Str"))         setId(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setRegion((R)new NCLRegion(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          String value=attributes.getValue(i);
          if (value.contains("String_Node_Str"))           value=value.substring(0,value.length() - 1);
          setExplicitDur(new Integer(value));
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFreeze(new Boolean(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setPlayer(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setMoveLeft((D)new NCLDescriptor(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setMoveRight((D)new NCLDescriptor(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setMoveDown((D)new NCLDescriptor(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setMoveUp((D)new NCLDescriptor(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusIndex(new Integer(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          for (          NCLColor c : NCLColor.values()) {
            if (c.toString().equals(attributes.getValue(i)))             setFocusBorderColor(c);
          }
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusBorderWidth(new Integer(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusBorderTransparency(new Integer(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusSrc(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusSelSrc(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          for (          NCLColor c : NCLColor.values()) {
            if (c.toString().equals(attributes.getValue(i)))             setSelBorderColor(c);
          }
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setTransIn((T)new NCLTransition(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setTransOut((T)new NCLTransition(attributes.getValue(i)));
      }
    }
 else     if (localName.equals("String_Node_Str")) {
      NCLDescriptorParam p=new NCLDescriptorParam(getReader(),this);
      p.startElement(uri,localName,qName,attributes);
      addDescriptorParam((P)p);
    }
  }
 catch (  NCLInvalidIdentifierException ex) {
  }
catch (  URISyntaxException ex) {
  }
}

Fixed version (ground truth):
@Override public void startElement(String uri,String localName,String qName,Attributes attributes){
  try {
    if (localName.equals("String_Node_Str")) {
      for (int i=0; i < attributes.getLength(); i++) {
        if (attributes.getLocalName(i).equals("String_Node_Str"))         setId(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setRegion((R)new NCLRegion(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          String value=attributes.getValue(i);
          if (value.contains("String_Node_Str"))           value=value.substring(0,value.length() - 1);
          setExplicitDur(new Integer(value));
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFreeze(new Boolean(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setPlayer(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          NCLDescriptor d=new NCLDescriptor("String_Node_Str" + attributes.getValue(i));
          d.setFocusIndex(new Integer(attributes.getValue(i)));
          setMoveLeft((D)d);
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          NCLDescriptor d=new NCLDescriptor("String_Node_Str" + attributes.getValue(i));
          d.setFocusIndex(new Integer(attributes.getValue(i)));
          setMoveRight((D)d);
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          NCLDescriptor d=new NCLDescriptor("String_Node_Str" + attributes.getValue(i));
          d.setFocusIndex(new Integer(attributes.getValue(i)));
          setMoveDown((D)d);
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          NCLDescriptor d=new NCLDescriptor("String_Node_Str" + attributes.getValue(i));
          d.setFocusIndex(new Integer(attributes.getValue(i)));
          setMoveUp((D)d);
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusIndex(new Integer(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          for (          NCLColor c : NCLColor.values()) {
            if (c.toString().equals(attributes.getValue(i)))             setFocusBorderColor(c);
          }
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusBorderWidth(new Integer(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          String value=attributes.getValue(i);
          if (value.contains("String_Node_Str"))           value=value.substring(0,value.length() - 1);
          setFocusBorderTransparency(new Integer(value));
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusSrc(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setFocusSelSrc(attributes.getValue(i));
 else         if (attributes.getLocalName(i).equals("String_Node_Str")) {
          for (          NCLColor c : NCLColor.values()) {
            if (c.toString().equals(attributes.getValue(i)))             setSelBorderColor(c);
          }
        }
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setTransIn((T)new NCLTransition(attributes.getValue(i)));
 else         if (attributes.getLocalName(i).equals("String_Node_Str"))         setTransOut((T)new NCLTransition(attributes.getValue(i)));
      }
    }
 else     if (localName.equals("String_Node_Str")) {
      NCLDescriptorParam p=new NCLDescriptorParam(getReader(),this);
      p.startElement(uri,localName,qName,attributes);
      addDescriptorParam((P)p);
    }
  }
 catch (  NCLInvalidIdentifierException ex) {
  }
catch (  URISyntaxException ex) {
  }
}