Program: 77103
Project: 77103
Buggy source:
/** 
 * This method returnt <code>true</code> in following condition: <p> 1. The multi selected elements are same type. <p> 2. And the multi selected elements have extends. <p> 3. If any of the given elements has local properties. <p>
 * @return <code>true</code> if the conditions is met.
 */
public final boolean hasLocalPropertiesForExtendedElements(){
  if (!isSameType())   return false;
  if (!allExtendedElements())   return false;
  List elements=getElements();
  for (Iterator iter=elements.iterator(); iter.hasNext(); ) {
    DesignElementHandle elementHandle=(DesignElementHandle)iter.next();
    Iterator propIter=elementHandle.getPropertyIterator();
    while (propIter.hasNext()) {
      PropertyHandle propertyHandle=(PropertyHandle)propIter.next();
      String name=propertyHandle.getDefn().getName();
      if ((IDesignElementModel.NAME_PROP.equals(name)) || (IDesignElementModel.EXTENDS_PROP.equals(name)) || IExtendedItemModel.EXTENSION_NAME_PROP.equals(name))       continue;
      if (elementHandle instanceof ExtendedItemHandle) {
        ExtendedItem elem=(ExtendedItem)elementHandle.getElement();
        if (elem.isExtensionXMLProperty(name))         continue;
        if (elem.isExtensionModelProperty(name)) {
          ExtendedItem parent=(ExtendedItem)elem.getExtendsElement();
          if (!elem.getLocalProperty(elementHandle.getModule(),name).equals(parent.getLocalProperty(parent.getRoot(),name)))           return true;
 else           continue;
        }
      }
      if (elementHandle.getElement().getLocalProperty(elementHandle.getModule(),name) != null)       return true;
    }
  }
  return false;
}

Fixed version (ground truth):
/** 
 * This method returnt <code>true</code> in following condition: <p> 1. The multi selected elements are same type. <p> 2. And the multi selected elements have extends. <p> 3. If any of the given elements has local properties. <p>
 * @return <code>true</code> if the conditions is met.
 */
public final boolean hasLocalPropertiesForExtendedElements(){
  if (!isSameType())   return false;
  if (!allExtendedElements())   return false;
  List elements=getElements();
  for (Iterator iter=elements.iterator(); iter.hasNext(); ) {
    DesignElementHandle elementHandle=(DesignElementHandle)iter.next();
    Iterator propIter=elementHandle.getPropertyIterator();
    while (propIter.hasNext()) {
      PropertyHandle propertyHandle=(PropertyHandle)propIter.next();
      String name=propertyHandle.getDefn().getName();
      if ((IDesignElementModel.NAME_PROP.equals(name)) || (IDesignElementModel.EXTENDS_PROP.equals(name)) || IExtendedItemModel.EXTENSION_NAME_PROP.equals(name))       continue;
      if (elementHandle instanceof ExtendedItemHandle) {
        ExtendedItem elem=(ExtendedItem)elementHandle.getElement();
        if (elem.isExtensionXMLProperty(name))         continue;
        if (elem.isExtensionModelProperty(name)) {
          ExtendedItem parent=(ExtendedItem)elem.getExtendsElement();
          try {
            parent.initializeReportItem(parent.getRoot());
          }
 catch (          ExtendedElementException e) {
          }
          Object value=elem.getLocalProperty(elementHandle.getModule(),name);
          if (value != null && !value.equals(parent.getLocalProperty(parent.getRoot(),name)))           return true;
 else           continue;
        }
      }
      if (elementHandle.getElement().getLocalProperty(elementHandle.getModule(),name) != null)       return true;
    }
  }
  return false;
}