Program: 28158
Project: 28158
Buggy source:
/** 
 * receives notification of the value for a particular tag
 * @param element the xml element
 * @param value it's associated value
 */
@Override public void setElementValue(XMLElement element,String value){
  if (RuntimeTagNames.EJB_NAME.equals(element.getQName())) {
    Object parentDesc=getParentNode().getDescriptor();
    if (parentDesc != null) {
      if (parentDesc instanceof EjbBundleDescriptorImpl) {
        descriptor=((EjbBundleDescriptorImpl)parentDesc).getEjbByName(value);
      }
    }
    if (descriptor == null) {
      DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{element,value});
    }
 else {
      if (availEnabled != null) {
        descriptor.getIASEjbExtraDescriptors().setAttributeValue(IASEjbExtraDescriptors.AVAILABILITY_ENABLED,availEnabled);
      }
    }
    return;
  }
 else   if (descriptor == null && !RuntimeTagNames.AVAILABILITY_ENABLED.equals(element.getQName())) {
    DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{element.getQName(),value});
  }
  if (RuntimeTagNames.AVAILABILITY_ENABLED.equals(element.getQName())) {
    availEnabled=value;
  }
 else   if (RuntimeTagNames.NAME.equals(element.getQName())) {
    if (Boolean.FALSE.equals(descriptor.getUsesCallerIdentity()) && descriptor.getRunAsIdentity() != null) {
      descriptor.getRunAsIdentity().setPrincipal(value);
    }
  }
 else   if (RuntimeTagNames.PASS_BY_REFERENCE.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setPassByReference(Boolean.valueOf(value));
  }
 else   if (RuntimeTagNames.JMS_MAX_MESSAGES_LOAD.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setJmsMaxMessagesLoad((Integer.valueOf(value)).intValue());
  }
 else   if (RuntimeTagNames.IS_READ_ONLY_BEAN.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setIsReadOnlyBean((Boolean.valueOf(value)).booleanValue());
  }
 else   if (RuntimeTagNames.REFRESH_PERIOD_IN_SECONDS.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setRefreshPeriodInSeconds((Integer.valueOf(value)).intValue());
  }
 else   if (RuntimeTagNames.COMMIT_OPTION.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setCommitOption(value);
  }
 else   if (RuntimeTagNames.CMT_TIMEOUT_IN_SECONDS.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setCmtTimeoutInSeconds((Integer.valueOf(value)).intValue());
  }
 else   if (RuntimeTagNames.USE_THREAD_POOL_ID.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setUseThreadPoolId(value);
  }
 else   if (RuntimeTagNames.CHECKPOINTED_METHODS.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setCheckpointedMethods(value);
  }
 else   if (RuntimeTagNames.PER_REQUEST_LOAD_BALANCING.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setPerRequestLoadBalancing(Boolean.valueOf(value));
  }
 else   super.setElementValue(element,value);
}

Fixed version (ground truth):
/** 
 * receives notification of the value for a particular tag
 * @param element the xml element
 * @param value it's associated value
 */
@Override public void setElementValue(XMLElement element,String value){
  if (RuntimeTagNames.EJB_NAME.equals(element.getQName())) {
    Object parentDesc=getParentNode().getDescriptor();
    if (parentDesc != null) {
      if (parentDesc instanceof EjbBundleDescriptorImpl) {
        descriptor=((EjbBundleDescriptorImpl)parentDesc).getEjbByName(value);
      }
    }
    if (descriptor == null) {
      DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{element,value});
    }
 else {
      if (availEnabled != null) {
        descriptor.getIASEjbExtraDescriptors().setAttributeValue(IASEjbExtraDescriptors.AVAILABILITY_ENABLED,availEnabled);
      }
    }
    return;
  }
 else   if (descriptor == null && !RuntimeTagNames.AVAILABILITY_ENABLED.equals(element.getQName())) {
    DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{element.getQName(),value});
  }
  if (RuntimeTagNames.AVAILABILITY_ENABLED.equals(element.getQName())) {
    availEnabled=value;
  }
 else   if (RuntimeTagNames.NAME.equals(element.getQName())) {
    if (Boolean.FALSE.equals(descriptor.getUsesCallerIdentity()) && descriptor.getRunAsIdentity() != null) {
      descriptor.getRunAsIdentity().setPrincipal(value);
    }
  }
 else   if (RuntimeTagNames.PASS_BY_REFERENCE.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setPassByReference(Boolean.valueOf(value));
  }
 else   if (RuntimeTagNames.JMS_MAX_MESSAGES_LOAD.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setJmsMaxMessagesLoad(Integer.parseInt(value));
  }
 else   if (RuntimeTagNames.IS_READ_ONLY_BEAN.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setIsReadOnlyBean((Boolean.valueOf(value)).booleanValue());
  }
 else   if (RuntimeTagNames.REFRESH_PERIOD_IN_SECONDS.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setRefreshPeriodInSeconds(Integer.parseInt(value));
  }
 else   if (RuntimeTagNames.COMMIT_OPTION.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setCommitOption(value);
  }
 else   if (RuntimeTagNames.CMT_TIMEOUT_IN_SECONDS.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setCmtTimeoutInSeconds(Integer.parseInt(value));
  }
 else   if (RuntimeTagNames.USE_THREAD_POOL_ID.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setUseThreadPoolId(value);
  }
 else   if (RuntimeTagNames.CHECKPOINTED_METHODS.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setCheckpointedMethods(value);
  }
 else   if (RuntimeTagNames.PER_REQUEST_LOAD_BALANCING.equals(element.getQName())) {
    descriptor.getIASEjbExtraDescriptors().setPerRequestLoadBalancing(Boolean.valueOf(value));
  }
 else   super.setElementValue(element,value);
}