Program: 106193
Project: 106193
Buggy source:
@Override public Answer executeRequest(Command cmd){
  if (s_logger.isTraceEnabled())   s_logger.trace("String_Node_Str" + cmd.getClass().getSimpleName());
  Answer answer=null;
  NDC.push(_hostName != null ? _hostName : _guid + "String_Node_Str" + this.getClass().getPackage().getImplementationVersion()+ "String_Node_Str");
  try {
    long cmdSequence=_cmdSequence++;
    Date startTime=DateUtil.currentGMTTime();
    PropertyMapDynamicBean mbean=new PropertyMapDynamicBean();
    mbean.addProp("String_Node_Str",DateUtil.getDateDisplayString(TimeZone.getDefault(),startTime));
    mbean.addProp("String_Node_Str",_gson.toJson(cmd));
    mbean.addProp("String_Node_Str",String.valueOf(cmdSequence));
    mbean.addProp("String_Node_Str",cmd.getClass().getSimpleName());
    Class<? extends Command> clz=cmd.getClass();
    if (clz == CreateCommand.class) {
      answer=execute((CreateCommand)cmd);
    }
 else     if (clz == SetPortForwardingRulesCommand.class) {
      answer=execute((SetPortForwardingRulesCommand)cmd);
    }
 else     if (clz == SetStaticNatRulesCommand.class) {
      answer=execute((SetStaticNatRulesCommand)cmd);
    }
 else     if (clz == LoadBalancerConfigCommand.class) {
      answer=execute((LoadBalancerConfigCommand)cmd);
    }
 else     if (clz == IpAssocCommand.class) {
      answer=execute((IpAssocCommand)cmd);
    }
 else     if (clz == SavePasswordCommand.class) {
      answer=execute((SavePasswordCommand)cmd);
    }
 else     if (clz == DhcpEntryCommand.class) {
      answer=execute((DhcpEntryCommand)cmd);
    }
 else     if (clz == CreateIpAliasCommand.class) {
      return execute((CreateIpAliasCommand)cmd);
    }
 else     if (clz == DnsMasqConfigCommand.class) {
      return execute((DnsMasqConfigCommand)cmd);
    }
 else     if (clz == DeleteIpAliasCommand.class) {
      return execute((DeleteIpAliasCommand)cmd);
    }
 else     if (clz == VmDataCommand.class) {
      answer=execute((VmDataCommand)cmd);
    }
 else     if (clz == ReadyCommand.class) {
      answer=execute((ReadyCommand)cmd);
    }
 else     if (clz == GetHostStatsCommand.class) {
      answer=execute((GetHostStatsCommand)cmd);
    }
 else     if (clz == GetVmStatsCommand.class) {
      answer=execute((GetVmStatsCommand)cmd);
    }
 else     if (clz == CheckHealthCommand.class) {
      answer=execute((CheckHealthCommand)cmd);
    }
 else     if (clz == StopCommand.class) {
      answer=execute((StopCommand)cmd);
    }
 else     if (clz == RebootRouterCommand.class) {
      answer=execute((RebootRouterCommand)cmd);
    }
 else     if (clz == RebootCommand.class) {
      answer=execute((RebootCommand)cmd);
    }
 else     if (clz == CheckVirtualMachineCommand.class) {
      answer=execute((CheckVirtualMachineCommand)cmd);
    }
 else     if (clz == PrepareForMigrationCommand.class) {
      answer=execute((PrepareForMigrationCommand)cmd);
    }
 else     if (clz == MigrateCommand.class) {
      answer=execute((MigrateCommand)cmd);
    }
 else     if (clz == MigrateWithStorageCommand.class) {
      answer=execute((MigrateWithStorageCommand)cmd);
    }
 else     if (clz == MigrateVolumeCommand.class) {
      answer=execute((MigrateVolumeCommand)cmd);
    }
 else     if (clz == DestroyCommand.class) {
      answer=execute((DestroyCommand)cmd);
    }
 else     if (clz == CreateStoragePoolCommand.class) {
      return execute((CreateStoragePoolCommand)cmd);
    }
 else     if (clz == ModifyStoragePoolCommand.class) {
      answer=execute((ModifyStoragePoolCommand)cmd);
    }
 else     if (clz == DeleteStoragePoolCommand.class) {
      answer=execute((DeleteStoragePoolCommand)cmd);
    }
 else     if (clz == CopyVolumeCommand.class) {
      answer=execute((CopyVolumeCommand)cmd);
    }
 else     if (clz == CreateVolumeOVACommand.class) {
      answer=execute((CreateVolumeOVACommand)cmd);
    }
 else     if (clz == PrepareOVAPackingCommand.class) {
      answer=execute((PrepareOVAPackingCommand)cmd);
    }
 else     if (clz == AttachVolumeCommand.class) {
      answer=execute((AttachVolumeCommand)cmd);
    }
 else     if (clz == AttachIsoCommand.class) {
      answer=execute((AttachIsoCommand)cmd);
    }
 else     if (clz == ValidateSnapshotCommand.class) {
      answer=execute((ValidateSnapshotCommand)cmd);
    }
 else     if (clz == ManageSnapshotCommand.class) {
      answer=execute((ManageSnapshotCommand)cmd);
    }
 else     if (clz == BackupSnapshotCommand.class) {
      answer=execute((BackupSnapshotCommand)cmd);
    }
 else     if (clz == CreateVolumeFromSnapshotCommand.class) {
      answer=execute((CreateVolumeFromSnapshotCommand)cmd);
    }
 else     if (clz == CreatePrivateTemplateFromVolumeCommand.class) {
      answer=execute((CreatePrivateTemplateFromVolumeCommand)cmd);
    }
 else     if (clz == CreatePrivateTemplateFromSnapshotCommand.class) {
      answer=execute((CreatePrivateTemplateFromSnapshotCommand)cmd);
    }
 else     if (clz == UpgradeSnapshotCommand.class) {
      answer=execute((UpgradeSnapshotCommand)cmd);
    }
 else     if (clz == GetStorageStatsCommand.class) {
      answer=execute((GetStorageStatsCommand)cmd);
    }
 else     if (clz == PrimaryStorageDownloadCommand.class) {
      answer=execute((PrimaryStorageDownloadCommand)cmd);
    }
 else     if (clz == GetVncPortCommand.class) {
      answer=execute((GetVncPortCommand)cmd);
    }
 else     if (clz == SetupCommand.class) {
      answer=execute((SetupCommand)cmd);
    }
 else     if (clz == MaintainCommand.class) {
      answer=execute((MaintainCommand)cmd);
    }
 else     if (clz == PingTestCommand.class) {
      answer=execute((PingTestCommand)cmd);
    }
 else     if (clz == CheckOnHostCommand.class) {
      answer=execute((CheckOnHostCommand)cmd);
    }
 else     if (clz == ModifySshKeysCommand.class) {
      answer=execute((ModifySshKeysCommand)cmd);
    }
 else     if (clz == PoolEjectCommand.class) {
      answer=execute((PoolEjectCommand)cmd);
    }
 else     if (clz == NetworkUsageCommand.class) {
      answer=execute((NetworkUsageCommand)cmd);
    }
 else     if (clz == StartCommand.class) {
      answer=execute((StartCommand)cmd);
    }
 else     if (clz == RemoteAccessVpnCfgCommand.class) {
      answer=execute((RemoteAccessVpnCfgCommand)cmd);
    }
 else     if (clz == VpnUsersCfgCommand.class) {
      answer=execute((VpnUsersCfgCommand)cmd);
    }
 else     if (clz == CheckSshCommand.class) {
      answer=execute((CheckSshCommand)cmd);
    }
 else     if (clz == CheckRouterCommand.class) {
      answer=execute((CheckRouterCommand)cmd);
    }
 else     if (clz == SetFirewallRulesCommand.class) {
      answer=execute((SetFirewallRulesCommand)cmd);
    }
 else     if (clz == BumpUpPriorityCommand.class) {
      answer=execute((BumpUpPriorityCommand)cmd);
    }
 else     if (clz == GetDomRVersionCmd.class) {
      answer=execute((GetDomRVersionCmd)cmd);
    }
 else     if (clz == CheckNetworkCommand.class) {
      answer=execute((CheckNetworkCommand)cmd);
    }
 else     if (clz == SetupGuestNetworkCommand.class) {
      answer=execute((SetupGuestNetworkCommand)cmd);
    }
 else     if (clz == IpAssocVpcCommand.class) {
      answer=execute((IpAssocVpcCommand)cmd);
    }
 else     if (clz == PlugNicCommand.class) {
      answer=execute((PlugNicCommand)cmd);
    }
 else     if (clz == UnPlugNicCommand.class) {
      answer=execute((UnPlugNicCommand)cmd);
    }
 else     if (clz == SetSourceNatCommand.class) {
      answer=execute((SetSourceNatCommand)cmd);
    }
 else     if (clz == SetNetworkACLCommand.class) {
      answer=execute((SetNetworkACLCommand)cmd);
    }
 else     if (cmd instanceof CreateVMSnapshotCommand) {
      return execute((CreateVMSnapshotCommand)cmd);
    }
 else     if (cmd instanceof DeleteVMSnapshotCommand) {
      return execute((DeleteVMSnapshotCommand)cmd);
    }
 else     if (cmd instanceof RevertToVMSnapshotCommand) {
      return execute((RevertToVMSnapshotCommand)cmd);
    }
 else     if (clz == SetPortForwardingRulesVpcCommand.class) {
      answer=execute((SetPortForwardingRulesVpcCommand)cmd);
    }
 else     if (clz == Site2SiteVpnCfgCommand.class) {
      answer=execute((Site2SiteVpnCfgCommand)cmd);
    }
 else     if (clz == CheckS2SVpnConnectionsCommand.class) {
      answer=execute((CheckS2SVpnConnectionsCommand)cmd);
    }
 else     if (clz == ResizeVolumeCommand.class) {
      return execute((ResizeVolumeCommand)cmd);
    }
 else     if (clz == UnregisterVMCommand.class) {
      return execute((UnregisterVMCommand)cmd);
    }
 else     if (cmd instanceof StorageSubSystemCommand) {
      return storageHandler.handleStorageCommands((StorageSubSystemCommand)cmd);
    }
 else     if (clz == ScaleVmCommand.class) {
      return execute((ScaleVmCommand)cmd);
    }
 else     if (clz == PvlanSetupCommand.class) {
      return execute((PvlanSetupCommand)cmd);
    }
 else {
      answer=Answer.createUnsupportedCommandAnswer(cmd);
    }
    if (cmd.getContextParam("String_Node_Str") != null) {
      answer.setContextParam("String_Node_Str",cmd.getContextParam("String_Node_Str"));
    }
    Date doneTime=DateUtil.currentGMTTime();
    mbean.addProp("String_Node_Str",DateUtil.getDateDisplayString(TimeZone.getDefault(),doneTime));
    mbean.addProp("String_Node_Str",_gson.toJson(answer));
synchronized (this) {
      try {
        JmxUtil.registerMBean("String_Node_Str" + _morHyperHost.getValue(),"String_Node_Str" + cmdSequence + "String_Node_Str"+ cmd.getClass().getSimpleName(),mbean);
        _cmdMBeans.add(mbean);
        if (_cmdMBeans.size() >= MAX_CMD_MBEAN) {
          PropertyMapDynamicBean mbeanToRemove=_cmdMBeans.get(0);
          _cmdMBeans.remove(0);
          JmxUtil.unregisterMBean("String_Node_Str" + _morHyperHost.getValue(),"String_Node_Str" + mbeanToRemove.getProp("String_Node_Str") + "String_Node_Str"+ mbeanToRemove.getProp("String_Node_Str"));
        }
      }
 catch (      Exception e) {
        if (s_logger.isTraceEnabled())         s_logger.trace("String_Node_Str" + ExceptionUtil.toString(e));
      }
    }
  }
  finally {
    NDC.pop();
  }
  if (s_logger.isTraceEnabled())   s_logger.trace("String_Node_Str" + cmd.getClass().getSimpleName());
  return answer;
}

Fixed version (ground truth):
@Override public Answer executeRequest(Command cmd){
  if (s_logger.isTraceEnabled())   s_logger.trace("String_Node_Str" + cmd.getClass().getSimpleName());
  Answer answer=null;
  NDC.push(_hostName != null ? _hostName : _guid + "String_Node_Str" + this.getClass().getPackage().getImplementationVersion()+ "String_Node_Str");
  try {
    long cmdSequence=_cmdSequence++;
    Date startTime=DateUtil.currentGMTTime();
    PropertyMapDynamicBean mbean=new PropertyMapDynamicBean();
    mbean.addProp("String_Node_Str",DateUtil.getDateDisplayString(TimeZone.getDefault(),startTime));
    mbean.addProp("String_Node_Str",_gson.toJson(cmd));
    mbean.addProp("String_Node_Str",String.valueOf(cmdSequence));
    mbean.addProp("String_Node_Str",cmd.getClass().getSimpleName());
    Class<? extends Command> clz=cmd.getClass();
    if (clz == CreateCommand.class) {
      answer=execute((CreateCommand)cmd);
    }
 else     if (clz == SetPortForwardingRulesCommand.class) {
      answer=execute((SetPortForwardingRulesCommand)cmd);
    }
 else     if (clz == SetStaticNatRulesCommand.class) {
      answer=execute((SetStaticNatRulesCommand)cmd);
    }
 else     if (clz == LoadBalancerConfigCommand.class) {
      answer=execute((LoadBalancerConfigCommand)cmd);
    }
 else     if (clz == IpAssocCommand.class) {
      answer=execute((IpAssocCommand)cmd);
    }
 else     if (clz == SavePasswordCommand.class) {
      answer=execute((SavePasswordCommand)cmd);
    }
 else     if (clz == DhcpEntryCommand.class) {
      answer=execute((DhcpEntryCommand)cmd);
    }
 else     if (clz == CreateIpAliasCommand.class) {
      return execute((CreateIpAliasCommand)cmd);
    }
 else     if (clz == DnsMasqConfigCommand.class) {
      return execute((DnsMasqConfigCommand)cmd);
    }
 else     if (clz == DeleteIpAliasCommand.class) {
      return execute((DeleteIpAliasCommand)cmd);
    }
 else     if (clz == VmDataCommand.class) {
      answer=execute((VmDataCommand)cmd);
    }
 else     if (clz == ReadyCommand.class) {
      answer=execute((ReadyCommand)cmd);
    }
 else     if (clz == GetHostStatsCommand.class) {
      answer=execute((GetHostStatsCommand)cmd);
    }
 else     if (clz == GetVmStatsCommand.class) {
      answer=execute((GetVmStatsCommand)cmd);
    }
 else     if (clz == CheckHealthCommand.class) {
      answer=execute((CheckHealthCommand)cmd);
    }
 else     if (clz == StopCommand.class) {
      answer=execute((StopCommand)cmd);
    }
 else     if (clz == RebootRouterCommand.class) {
      answer=execute((RebootRouterCommand)cmd);
    }
 else     if (clz == RebootCommand.class) {
      answer=execute((RebootCommand)cmd);
    }
 else     if (clz == CheckVirtualMachineCommand.class) {
      answer=execute((CheckVirtualMachineCommand)cmd);
    }
 else     if (clz == PrepareForMigrationCommand.class) {
      answer=execute((PrepareForMigrationCommand)cmd);
    }
 else     if (clz == MigrateCommand.class) {
      answer=execute((MigrateCommand)cmd);
    }
 else     if (clz == MigrateWithStorageCommand.class) {
      answer=execute((MigrateWithStorageCommand)cmd);
    }
 else     if (clz == MigrateVolumeCommand.class) {
      answer=execute((MigrateVolumeCommand)cmd);
    }
 else     if (clz == DestroyCommand.class) {
      answer=execute((DestroyCommand)cmd);
    }
 else     if (clz == CreateStoragePoolCommand.class) {
      return execute((CreateStoragePoolCommand)cmd);
    }
 else     if (clz == ModifyStoragePoolCommand.class) {
      answer=execute((ModifyStoragePoolCommand)cmd);
    }
 else     if (clz == DeleteStoragePoolCommand.class) {
      answer=execute((DeleteStoragePoolCommand)cmd);
    }
 else     if (clz == CopyVolumeCommand.class) {
      answer=execute((CopyVolumeCommand)cmd);
    }
 else     if (clz == CreateVolumeOVACommand.class) {
      answer=execute((CreateVolumeOVACommand)cmd);
    }
 else     if (clz == PrepareOVAPackingCommand.class) {
      answer=execute((PrepareOVAPackingCommand)cmd);
    }
 else     if (clz == AttachVolumeCommand.class) {
      answer=execute((AttachVolumeCommand)cmd);
    }
 else     if (clz == AttachIsoCommand.class) {
      answer=execute((AttachIsoCommand)cmd);
    }
 else     if (clz == ValidateSnapshotCommand.class) {
      answer=execute((ValidateSnapshotCommand)cmd);
    }
 else     if (clz == ManageSnapshotCommand.class) {
      answer=execute((ManageSnapshotCommand)cmd);
    }
 else     if (clz == BackupSnapshotCommand.class) {
      answer=execute((BackupSnapshotCommand)cmd);
    }
 else     if (clz == CreateVolumeFromSnapshotCommand.class) {
      answer=execute((CreateVolumeFromSnapshotCommand)cmd);
    }
 else     if (clz == CreatePrivateTemplateFromVolumeCommand.class) {
      answer=execute((CreatePrivateTemplateFromVolumeCommand)cmd);
    }
 else     if (clz == CreatePrivateTemplateFromSnapshotCommand.class) {
      answer=execute((CreatePrivateTemplateFromSnapshotCommand)cmd);
    }
 else     if (clz == UpgradeSnapshotCommand.class) {
      answer=execute((UpgradeSnapshotCommand)cmd);
    }
 else     if (clz == GetStorageStatsCommand.class) {
      answer=execute((GetStorageStatsCommand)cmd);
    }
 else     if (clz == PrimaryStorageDownloadCommand.class) {
      answer=execute((PrimaryStorageDownloadCommand)cmd);
    }
 else     if (clz == GetVncPortCommand.class) {
      answer=execute((GetVncPortCommand)cmd);
    }
 else     if (clz == SetupCommand.class) {
      answer=execute((SetupCommand)cmd);
    }
 else     if (clz == MaintainCommand.class) {
      answer=execute((MaintainCommand)cmd);
    }
 else     if (clz == PingTestCommand.class) {
      answer=execute((PingTestCommand)cmd);
    }
 else     if (clz == CheckOnHostCommand.class) {
      answer=execute((CheckOnHostCommand)cmd);
    }
 else     if (clz == ModifySshKeysCommand.class) {
      answer=execute((ModifySshKeysCommand)cmd);
    }
 else     if (clz == PoolEjectCommand.class) {
      answer=execute((PoolEjectCommand)cmd);
    }
 else     if (clz == NetworkUsageCommand.class) {
      answer=execute((NetworkUsageCommand)cmd);
    }
 else     if (clz == StartCommand.class) {
      answer=execute((StartCommand)cmd);
    }
 else     if (clz == RemoteAccessVpnCfgCommand.class) {
      answer=execute((RemoteAccessVpnCfgCommand)cmd);
    }
 else     if (clz == VpnUsersCfgCommand.class) {
      answer=execute((VpnUsersCfgCommand)cmd);
    }
 else     if (clz == CheckSshCommand.class) {
      answer=execute((CheckSshCommand)cmd);
    }
 else     if (clz == CheckRouterCommand.class) {
      answer=execute((CheckRouterCommand)cmd);
    }
 else     if (clz == SetFirewallRulesCommand.class) {
      answer=execute((SetFirewallRulesCommand)cmd);
    }
 else     if (clz == BumpUpPriorityCommand.class) {
      answer=execute((BumpUpPriorityCommand)cmd);
    }
 else     if (clz == GetDomRVersionCmd.class) {
      answer=execute((GetDomRVersionCmd)cmd);
    }
 else     if (clz == CheckNetworkCommand.class) {
      answer=execute((CheckNetworkCommand)cmd);
    }
 else     if (clz == SetupGuestNetworkCommand.class) {
      answer=execute((SetupGuestNetworkCommand)cmd);
    }
 else     if (clz == IpAssocVpcCommand.class) {
      answer=execute((IpAssocVpcCommand)cmd);
    }
 else     if (clz == PlugNicCommand.class) {
      answer=execute((PlugNicCommand)cmd);
    }
 else     if (clz == UnPlugNicCommand.class) {
      answer=execute((UnPlugNicCommand)cmd);
    }
 else     if (clz == SetSourceNatCommand.class) {
      answer=execute((SetSourceNatCommand)cmd);
    }
 else     if (clz == SetNetworkACLCommand.class) {
      answer=execute((SetNetworkACLCommand)cmd);
    }
 else     if (cmd instanceof CreateVMSnapshotCommand) {
      return execute((CreateVMSnapshotCommand)cmd);
    }
 else     if (cmd instanceof DeleteVMSnapshotCommand) {
      return execute((DeleteVMSnapshotCommand)cmd);
    }
 else     if (cmd instanceof RevertToVMSnapshotCommand) {
      return execute((RevertToVMSnapshotCommand)cmd);
    }
 else     if (clz == SetPortForwardingRulesVpcCommand.class) {
      answer=execute((SetPortForwardingRulesVpcCommand)cmd);
    }
 else     if (clz == Site2SiteVpnCfgCommand.class) {
      answer=execute((Site2SiteVpnCfgCommand)cmd);
    }
 else     if (clz == CheckS2SVpnConnectionsCommand.class) {
      answer=execute((CheckS2SVpnConnectionsCommand)cmd);
    }
 else     if (clz == ResizeVolumeCommand.class) {
      return execute((ResizeVolumeCommand)cmd);
    }
 else     if (clz == UnregisterVMCommand.class) {
      return execute((UnregisterVMCommand)cmd);
    }
 else     if (cmd instanceof StorageSubSystemCommand) {
      return storageHandler.handleStorageCommands((StorageSubSystemCommand)cmd);
    }
 else     if (clz == ScaleVmCommand.class) {
      return execute((ScaleVmCommand)cmd);
    }
 else     if (clz == PvlanSetupCommand.class) {
      return execute((PvlanSetupCommand)cmd);
    }
 else     if (clz == SetStaticRouteCommand.class) {
      answer=execute((SetStaticRouteCommand)cmd);
    }
 else {
      answer=Answer.createUnsupportedCommandAnswer(cmd);
    }
    if (cmd.getContextParam("String_Node_Str") != null) {
      answer.setContextParam("String_Node_Str",cmd.getContextParam("String_Node_Str"));
    }
    Date doneTime=DateUtil.currentGMTTime();
    mbean.addProp("String_Node_Str",DateUtil.getDateDisplayString(TimeZone.getDefault(),doneTime));
    mbean.addProp("String_Node_Str",_gson.toJson(answer));
synchronized (this) {
      try {
        JmxUtil.registerMBean("String_Node_Str" + _morHyperHost.getValue(),"String_Node_Str" + cmdSequence + "String_Node_Str"+ cmd.getClass().getSimpleName(),mbean);
        _cmdMBeans.add(mbean);
        if (_cmdMBeans.size() >= MAX_CMD_MBEAN) {
          PropertyMapDynamicBean mbeanToRemove=_cmdMBeans.get(0);
          _cmdMBeans.remove(0);
          JmxUtil.unregisterMBean("String_Node_Str" + _morHyperHost.getValue(),"String_Node_Str" + mbeanToRemove.getProp("String_Node_Str") + "String_Node_Str"+ mbeanToRemove.getProp("String_Node_Str"));
        }
      }
 catch (      Exception e) {
        if (s_logger.isTraceEnabled())         s_logger.trace("String_Node_Str" + ExceptionUtil.toString(e));
      }
    }
  }
  finally {
    NDC.pop();
  }
  if (s_logger.isTraceEnabled())   s_logger.trace("String_Node_Str" + cmd.getClass().getSimpleName());
  return answer;
}