Program: 28988
Project: 28988
Buggy source:
public void setMdbContainerProperties(){
  MdbContainer mdbc=null;
  try {
    ServerContext sc=Globals.get(ServerContext.class);
    mdbc=Globals.get(MdbContainer.class);
  }
 catch (  Exception e) {
    _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
    if (_mdblogger.isLoggable(Level.FINE)) {
      _mdblogger.log(Level.FINE,e.getClass().getName(),e);
    }
  }
  if (mdbc != null) {
    List props=mdbc.getProperty();
    if (props != null) {
      for (int i=0; i < props.size(); i++) {
        Property p=(Property)props.get(i);
        if (p == null)         continue;
        String name=p.getName();
        if (name == null)         continue;
        try {
          if (name.equals(propName_reconnect_enabled)) {
            if (p.getValue() == null)             continue;
            reconnectEnabled=Boolean.valueOf(p.getValue()).booleanValue();
          }
 else           if (name.equals(propName_reconnect_delay_in_seconds)) {
            try {
              reconnectDelayInSeconds=Integer.parseInt(p.getValue());
            }
 catch (            Exception e) {
              _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
            }
          }
 else           if (name.equals(propName_reconnect_max_retries)) {
            try {
              reconnectMaxRetries=Integer.parseInt(p.getValue());
            }
 catch (            Exception e) {
              _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
            }
          }
 else           if (name.equals(propName_cmt_max_runtime_exceptions)) {
            try {
              cmtMaxRuntimeExceptions=Integer.parseInt(p.getValue());
            }
 catch (            Exception e) {
              _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
            }
          }
        }
 catch (        Exception e) {
          _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
          if (_mdblogger.isLoggable(Level.FINE)) {
            _mdblogger.log(Level.FINE,e.getClass().getName(),e);
          }
        }
      }
    }
  }
  if (reconnectDelayInSeconds < 0) {
    reconnectDelayInSeconds=DEFAULT_RECONNECT_DELAY;
  }
  if (reconnectMaxRetries < 0) {
    reconnectMaxRetries=DEFAULT_RECONNECT_RETRIES;
  }
  if (_mdblogger.isLoggable(Level.FINE)) {
    _mdblogger.log(Level.FINE,propName_reconnect_delay_in_seconds + "String_Node_Str" + reconnectDelayInSeconds+ "String_Node_Str"+ propName_reconnect_max_retries+ "String_Node_Str"+ reconnectMaxRetries+ "String_Node_Str"+ propName_reconnect_enabled+ "String_Node_Str"+ reconnectEnabled);
  }
  MdbContainerProps.setReconnectDelay(reconnectDelayInSeconds);
  MdbContainerProps.setReconnectMaxRetries(reconnectMaxRetries);
  MdbContainerProps.setReconnectEnabled(reconnectEnabled);
  MdbContainerProps.setMaxRuntimeExceptions(cmtMaxRuntimeExceptions);
}

Fixed version (ground truth):
public void setMdbContainerProperties(){
  MdbContainer mdbc=null;
  try {
    mdbc=Globals.get(MdbContainer.class);
  }
 catch (  Exception e) {
    _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
    if (_mdblogger.isLoggable(Level.FINE)) {
      _mdblogger.log(Level.FINE,e.getClass().getName(),e);
    }
  }
  if (mdbc != null) {
    List props=mdbc.getProperty();
    if (props != null) {
      for (int i=0; i < props.size(); i++) {
        Property p=(Property)props.get(i);
        if (p == null)         continue;
        String name=p.getName();
        if (name == null)         continue;
        try {
          if (name.equals(propName_reconnect_enabled)) {
            if (p.getValue() == null)             continue;
            reconnectEnabled=Boolean.valueOf(p.getValue()).booleanValue();
          }
 else           if (name.equals(propName_reconnect_delay_in_seconds)) {
            try {
              reconnectDelayInSeconds=Integer.parseInt(p.getValue());
            }
 catch (            Exception e) {
              _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
            }
          }
 else           if (name.equals(propName_reconnect_max_retries)) {
            try {
              reconnectMaxRetries=Integer.parseInt(p.getValue());
            }
 catch (            Exception e) {
              _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
            }
          }
 else           if (name.equals(propName_cmt_max_runtime_exceptions)) {
            try {
              cmtMaxRuntimeExceptions=Integer.parseInt(p.getValue());
            }
 catch (            Exception e) {
              _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
            }
          }
        }
 catch (        Exception e) {
          _mdblogger.log(Level.WARNING,"String_Node_Str",new Object[]{e.getMessage()});
          if (_mdblogger.isLoggable(Level.FINE)) {
            _mdblogger.log(Level.FINE,e.getClass().getName(),e);
          }
        }
      }
    }
  }
  if (reconnectDelayInSeconds < 0) {
    reconnectDelayInSeconds=DEFAULT_RECONNECT_DELAY;
  }
  if (reconnectMaxRetries < 0) {
    reconnectMaxRetries=DEFAULT_RECONNECT_RETRIES;
  }
  if (_mdblogger.isLoggable(Level.FINE)) {
    _mdblogger.log(Level.FINE,propName_reconnect_delay_in_seconds + "String_Node_Str" + reconnectDelayInSeconds+ "String_Node_Str"+ propName_reconnect_max_retries+ "String_Node_Str"+ reconnectMaxRetries+ "String_Node_Str"+ propName_reconnect_enabled+ "String_Node_Str"+ reconnectEnabled);
  }
  MdbContainerProps.setReconnectDelay(reconnectDelayInSeconds);
  MdbContainerProps.setReconnectMaxRetries(reconnectMaxRetries);
  MdbContainerProps.setReconnectEnabled(reconnectEnabled);
  MdbContainerProps.setMaxRuntimeExceptions(cmtMaxRuntimeExceptions);
}