Program: 115635
Project: 115635
Buggy source:
public static void validateKubernetesCluster(KubernetesCluster kubernetesCluster) throws InvalidKubernetesClusterException {
  CloudControllerContext context=CloudControllerContext.getInstance();
  if (kubernetesCluster == null) {
    throw new InvalidKubernetesClusterException("String_Node_Str");
  }
  if (StringUtils.isEmpty(kubernetesCluster.getClusterId())) {
    throw new InvalidKubernetesClusterException("String_Node_Str");
  }
  if (context.kubernetesClusterExists(kubernetesCluster)) {
    throw new InvalidKubernetesClusterException(String.format("String_Node_Str" + "String_Node_Str",kubernetesCluster.getClusterId()));
  }
  if (kubernetesCluster.getKubernetesMaster() == null) {
    throw new InvalidKubernetesClusterException("String_Node_Str" + "String_Node_Str" + kubernetesCluster.getClusterId());
  }
  if (kubernetesCluster.getPortRange() == null) {
    throw new InvalidKubernetesClusterException("String_Node_Str" + "String_Node_Str" + kubernetesCluster.getClusterId());
  }
  if (kubernetesCluster.getPortRange().getUpper() > CloudControllerConstants.PORT_RANGE_MAX || kubernetesCluster.getPortRange().getUpper() < CloudControllerConstants.PORT_RANGE_MIN || kubernetesCluster.getPortRange().getLower() > CloudControllerConstants.PORT_RANGE_MAX || kubernetesCluster.getPortRange().getLower() < CloudControllerConstants.PORT_RANGE_MIN || kubernetesCluster.getPortRange().getUpper() < kubernetesCluster.getPortRange().getLower()) {
    throw new InvalidKubernetesClusterException("String_Node_Str" + "String_Node_Str" + kubernetesCluster.getClusterId() + "String_Node_Str"+ "String_Node_Str"+ CloudControllerConstants.PORT_RANGE_MIN+ "String_Node_Str"+ CloudControllerConstants.PORT_RANGE_MAX);
  }
  try {
    validateKubernetesMaster(kubernetesCluster.getKubernetesMaster());
    validateKubernetesHosts(kubernetesCluster.getKubernetesHosts());
    if (context.kubernetesHostExists(kubernetesCluster.getKubernetesMaster().getHostId())) {
      throw new InvalidKubernetesClusterException("String_Node_Str" + kubernetesCluster.getKubernetesMaster().getHostId());
    }
    if (kubernetesCluster.getKubernetesHosts() != null) {
      List<String> hostIds=new ArrayList<String>();
      hostIds.add(kubernetesCluster.getKubernetesMaster().getHostId());
      for (      KubernetesHost kubernetesHost : kubernetesCluster.getKubernetesHosts()) {
        if (hostIds.contains(kubernetesHost.getHostId())) {
          throw new InvalidKubernetesClusterException(String.format("String_Node_Str",kubernetesHost.getHostId()));
        }
        if (context.kubernetesHostExists(kubernetesHost.getHostId())) {
          throw new InvalidKubernetesClusterException("String_Node_Str" + kubernetesHost.getHostId());
        }
        hostIds.add(kubernetesHost.getHostId());
      }
    }
  }
 catch (  InvalidKubernetesHostException e) {
    throw new InvalidKubernetesClusterException(e.getMessage());
  }
catch (  InvalidKubernetesMasterException e) {
    throw new InvalidKubernetesClusterException(e.getMessage());
  }
}

Fixed version (ground truth):
public static void validateKubernetesCluster(KubernetesCluster kubernetesCluster) throws InvalidKubernetesClusterException {
  CloudControllerContext context=CloudControllerContext.getInstance();
  if (kubernetesCluster == null) {
    throw new InvalidKubernetesClusterException("String_Node_Str");
  }
  if (StringUtils.isEmpty(kubernetesCluster.getClusterId())) {
    throw new InvalidKubernetesClusterException("String_Node_Str");
  }
  if (context.kubernetesClusterExists(kubernetesCluster)) {
    throw new InvalidKubernetesClusterException(String.format("String_Node_Str" + "String_Node_Str",kubernetesCluster.getClusterId()));
  }
  if (kubernetesCluster.getKubernetesMaster() == null) {
    throw new InvalidKubernetesClusterException("String_Node_Str" + "String_Node_Str" + kubernetesCluster.getClusterId());
  }
  if (kubernetesCluster.getPortRange() == null) {
    throw new InvalidKubernetesClusterException("String_Node_Str" + "String_Node_Str" + kubernetesCluster.getClusterId());
  }
  if (kubernetesCluster.getPortRange().getUpper() > CloudControllerConstants.PORT_RANGE_MAX || kubernetesCluster.getPortRange().getUpper() < CloudControllerConstants.PORT_RANGE_MIN || kubernetesCluster.getPortRange().getLower() > CloudControllerConstants.PORT_RANGE_MAX || kubernetesCluster.getPortRange().getLower() < CloudControllerConstants.PORT_RANGE_MIN || kubernetesCluster.getPortRange().getUpper() < kubernetesCluster.getPortRange().getLower()) {
    throw new InvalidKubernetesClusterException("String_Node_Str" + "String_Node_Str" + kubernetesCluster.getClusterId() + "String_Node_Str"+ "String_Node_Str"+ CloudControllerConstants.PORT_RANGE_MIN+ "String_Node_Str"+ CloudControllerConstants.PORT_RANGE_MAX);
  }
  try {
    validateKubernetesMaster(kubernetesCluster.getKubernetesMaster());
    validateKubernetesHosts(kubernetesCluster.getKubernetesHosts());
    if (kubernetesCluster.getKubernetesHosts() != null) {
      List<String> hostIds=new ArrayList<String>();
      hostIds.add(kubernetesCluster.getKubernetesMaster().getHostId());
      for (      KubernetesHost kubernetesHost : kubernetesCluster.getKubernetesHosts()) {
        if (hostIds.contains(kubernetesHost.getHostId())) {
          throw new InvalidKubernetesClusterException(String.format("String_Node_Str",kubernetesHost.getHostId()));
        }
        if (context.kubernetesHostExists(kubernetesHost.getHostId())) {
          throw new InvalidKubernetesClusterException("String_Node_Str" + kubernetesHost.getHostId());
        }
        hostIds.add(kubernetesHost.getHostId());
      }
    }
  }
 catch (  InvalidKubernetesHostException e) {
    throw new InvalidKubernetesClusterException(e.getMessage());
  }
catch (  InvalidKubernetesMasterException e) {
    throw new InvalidKubernetesClusterException(e.getMessage());
  }
}