Program: 112325
Project: 112325
Buggy source:
protected List<ResourceIndexedSearchParamDate> extractSearchParamDates(ResourceTable theEntity,IResource theResource){
  ArrayList<ResourceIndexedSearchParamDate> retVal=new ArrayList<ResourceIndexedSearchParamDate>();
  RuntimeResourceDefinition def=getContext().getResourceDefinition(theResource);
  FhirTerser t=getContext().newTerser();
  for (  RuntimeSearchParam nextSpDef : def.getSearchParams()) {
    if (nextSpDef.getParamType() != SearchParamTypeEnum.DATE) {
      continue;
    }
    String nextPath=nextSpDef.getPath();
    boolean multiType=false;
    if (nextPath.endsWith("String_Node_Str")) {
      multiType=true;
    }
    List<Object> values=t.getValues(theResource,nextPath);
    for (    Object nextObject : values) {
      if (nextObject == null) {
        continue;
      }
      ResourceIndexedSearchParamDate nextEntity;
      if (nextObject instanceof BaseDateTimeDt) {
        BaseDateTimeDt nextValue=(BaseDateTimeDt)nextObject;
        if (nextValue.isEmpty()) {
          continue;
        }
        nextEntity=new ResourceIndexedSearchParamDate(nextSpDef.getName(),nextValue.getValue(),nextValue.getValue());
      }
 else       if (nextObject instanceof PeriodDt) {
        PeriodDt nextValue=(PeriodDt)nextObject;
        if (nextValue.isEmpty()) {
          continue;
        }
        nextEntity=new ResourceIndexedSearchParamDate(nextSpDef.getName(),nextValue.getStart().getValue(),nextValue.getEnd().getValue());
      }
 else {
        if (!multiType) {
          throw new ConfigurationException("String_Node_Str" + nextSpDef.getName() + "String_Node_Str"+ nextObject.getClass());
        }
 else {
          continue;
        }
      }
      if (nextEntity != null) {
        nextEntity.setResource(theEntity);
        retVal.add(nextEntity);
      }
    }
  }
  theEntity.setParamsDatePopulated(retVal.size() > 0);
  return retVal;
}

Fixed version (ground truth):
protected List<ResourceIndexedSearchParamDate> extractSearchParamDates(ResourceTable theEntity,IResource theResource){
  ArrayList<ResourceIndexedSearchParamDate> retVal=new ArrayList<ResourceIndexedSearchParamDate>();
  RuntimeResourceDefinition def=getContext().getResourceDefinition(theResource);
  FhirTerser t=getContext().newTerser();
  for (  RuntimeSearchParam nextSpDef : def.getSearchParams()) {
    if (nextSpDef.getParamType() != SearchParamTypeEnum.DATE) {
      continue;
    }
    String nextPath=nextSpDef.getPath();
    if (isBlank(nextPath)) {
      continue;
    }
    boolean multiType=false;
    if (nextPath.endsWith("String_Node_Str")) {
      multiType=true;
    }
    List<Object> values=t.getValues(theResource,nextPath);
    for (    Object nextObject : values) {
      if (nextObject == null) {
        continue;
      }
      ResourceIndexedSearchParamDate nextEntity;
      if (nextObject instanceof BaseDateTimeDt) {
        BaseDateTimeDt nextValue=(BaseDateTimeDt)nextObject;
        if (nextValue.isEmpty()) {
          continue;
        }
        nextEntity=new ResourceIndexedSearchParamDate(nextSpDef.getName(),nextValue.getValue(),nextValue.getValue());
      }
 else       if (nextObject instanceof PeriodDt) {
        PeriodDt nextValue=(PeriodDt)nextObject;
        if (nextValue.isEmpty()) {
          continue;
        }
        nextEntity=new ResourceIndexedSearchParamDate(nextSpDef.getName(),nextValue.getStart().getValue(),nextValue.getEnd().getValue());
      }
 else {
        if (!multiType) {
          throw new ConfigurationException("String_Node_Str" + nextSpDef.getName() + "String_Node_Str"+ nextObject.getClass());
        }
 else {
          continue;
        }
      }
      if (nextEntity != null) {
        nextEntity.setResource(theEntity);
        retVal.add(nextEntity);
      }
    }
  }
  theEntity.setParamsDatePopulated(retVal.size() > 0);
  return retVal;
}