Program: 28490
Project: 28490
Buggy source:
/** 
 * Executes the command with the command parameters passed as Properties where the keys are the paramter names and the values the parameter values
 * @param context information
 */
public void execute(AdminCommandContext context){
  Target targetUtil=services.getService(Target.class);
  Config newConfig=targetUtil.getConfig(target);
  if (newConfig != null) {
    config=newConfig;
  }
  final ActionReport report=context.getActionReport();
  NetworkConfig networkConfig=config.getNetworkConfig();
  Protocols protocols=networkConfig.getProtocols();
  Protocol protocol=null;
  for (  Protocol p : protocols.getProtocol()) {
    if (protocolName.equalsIgnoreCase(p.getName())) {
      protocol=p;
    }
  }
  if (protocol == null) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    return;
  }
  final Http http=protocol.getHttp();
  if (http == null) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    return;
  }
  try {
    ConfigSupport.apply(new SingleConfigCode<Http>(){
      public Object run(      Http param) throws TransactionFailure {
        Spdy spdy=param.createChild(Spdy.class);
        if (maxStreams != null) {
          int maxStreamsLocal=Integer.parseInt(maxStreams);
          if (maxStreamsLocal > 0) {
            spdy.setMaxConcurrentStreams(maxStreamsLocal);
          }
        }
        if (initialWindowSize != null) {
          int initialWindowSizeLocal=Integer.parseInt(initialWindowSize);
          if (initialWindowSizeLocal > 0) {
            spdy.setInitialWindowSizeInBytes(initialWindowSizeLocal);
          }
        }
        if (maxFrameLengthInBytes != null) {
          int maxFrameLengthInBytesLocal=Integer.parseInt(maxFrameLengthInBytes);
          if (maxFrameLengthInBytesLocal > 0 && maxFrameLengthInBytesLocal < (1 << 24)) {
            spdy.setMaxFrameLengthInBytes(maxFrameLengthInBytesLocal);
          }
        }
        if (mode != null) {
          String modeLocal=mode.toLowerCase(Locale.US);
          spdy.setMode(modeLocal);
        }
        param.setSpdy(spdy);
        return spdy;
      }
    }
,http);
  }
 catch (  TransactionFailure transactionFailure) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setFailureCause(transactionFailure);
    return;
  }
catch (  Exception e) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setFailureCause(e);
    return;
  }
  report.appendMessage("String_Node_Str");
  report.setActionExitCode(ActionReport.ExitCode.SUCCESS);
}

Fixed version (ground truth):
/** 
 * Executes the command with the command parameters passed as Properties where the keys are the paramter names and the values the parameter values
 * @param context information
 */
@Override public void execute(final AdminCommandContext context){
  Target targetUtil=services.getService(Target.class);
  Config newConfig=targetUtil.getConfig(target);
  if (newConfig != null) {
    config=newConfig;
  }
  final ActionReport report=context.getActionReport();
  NetworkConfig networkConfig=config.getNetworkConfig();
  Protocols protocols=networkConfig.getProtocols();
  Protocol protocol=null;
  for (  Protocol p : protocols.getProtocol()) {
    if (protocolName.equalsIgnoreCase(p.getName())) {
      protocol=p;
    }
  }
  if (protocol == null) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    return;
  }
  final Http http=protocol.getHttp();
  if (http == null) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    return;
  }
  try {
    final String strategyName=SameThreadIOStrategy.class.getName();
    Transport spdyTransport=null;
    final List<NetworkListener> networkListeners=protocol.findNetworkListeners();
    for (    NetworkListener networkListener : networkListeners) {
      final Transport transport=networkListener.findTransport();
      if (transport != null && !strategyName.equals(transport.getIoStrategy())) {
        if (spdyTransport == null) {
          spdyTransport=obtainSpdyTransport(networkConfig);
        }
        if (!spdyTransport.getName().equals(transport.getName())) {
          final String spdyTransportName=spdyTransport.getName();
          ConfigSupport.apply(new SingleConfigCode<NetworkListener>(){
            @Override public Object run(            final NetworkListener listener) throws TransactionFailure {
              listener.setTransport(spdyTransportName);
              return listener;
            }
          }
,networkListener);
          report.appendMessage(String.format("String_Node_Str",networkListener.getName(),spdyTransportName));
        }
      }
    }
    ConfigSupport.apply(new SingleConfigCode<Http>(){
      @Override public Object run(      Http param) throws TransactionFailure {
        Spdy spdy=param.createChild(Spdy.class);
        if (maxStreams != null) {
          int maxStreamsLocal=Integer.parseInt(maxStreams);
          if (maxStreamsLocal > 0) {
            spdy.setMaxConcurrentStreams(maxStreamsLocal);
          }
        }
        if (initialWindowSize != null) {
          int initialWindowSizeLocal=Integer.parseInt(initialWindowSize);
          if (initialWindowSizeLocal > 0) {
            spdy.setInitialWindowSizeInBytes(initialWindowSizeLocal);
          }
        }
        if (maxFrameLengthInBytes != null) {
          int maxFrameLengthInBytesLocal=Integer.parseInt(maxFrameLengthInBytes);
          if (maxFrameLengthInBytesLocal > 0 && maxFrameLengthInBytesLocal < (1 << 24)) {
            spdy.setMaxFrameLengthInBytes(maxFrameLengthInBytesLocal);
          }
        }
        if (mode != null) {
          String modeLocal=mode.toLowerCase(Locale.US);
          spdy.setMode(modeLocal);
        }
        param.setSpdy(spdy);
        return spdy;
      }
    }
,http);
  }
 catch (  TransactionFailure transactionFailure) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setFailureCause(transactionFailure);
    return;
  }
catch (  Exception e) {
    report.setMessage(String.format("String_Node_Str",protocolName));
    report.setActionExitCode(ActionReport.ExitCode.FAILURE);
    report.setFailureCause(e);
    return;
  }
  report.appendMessage("String_Node_Str");
  report.setActionExitCode(ActionReport.ExitCode.SUCCESS);
}