Program: 53292
Project: 53292
Buggy source:
@Override public Object getValue(int index,int selector,Object parameters){
  if (index == 1) {
    return getLogicalName();
  }
  if (index == 2) {
    return (byte)getMode().getValue();
  }
  if (index == 3) {
    return getRepetitions();
  }
  if (index == 4) {
    return getRepetitionDelay();
  }
  if (index == 5) {
    int cnt=getCallingWindow().size();
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    GXCommon.setObjectCount(cnt,data);
    if (cnt != 0) {
      for (      AbstractMap.SimpleEntry<GXDateTime,GXDateTime> it : getCallingWindow()) {
        data.write((byte)DataType.STRUCTURE.getValue());
        data.write((byte)2);
        try {
          GXCommon.setData(data,DataType.OCTET_STRING,it.getKey());
          GXCommon.setData(data,DataType.OCTET_STRING,it.getValue());
        }
 catch (        Exception ex) {
          Logger.getLogger(GXDLMSAutoConnect.class.getName()).log(Level.SEVERE,null,ex);
          throw new RuntimeException(ex.getMessage());
        }
      }
    }
    return data.toByteArray();
  }
  if (index == 6) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getDestinations() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getDestinations().length;
      GXCommon.setObjectCount(cnt,data);
      for (      String it : getDestinations()) {
        try {
          GXCommon.setData(data,DataType.OCTET_STRING,it.getBytes("String_Node_Str"));
        }
 catch (        Exception ex) {
          Logger.getLogger(GXDLMSAutoConnect.class.getName()).log(Level.SEVERE,null,ex);
          throw new RuntimeException(ex.getMessage());
        }
      }
    }
    return data.toByteArray();
  }
  throw new IllegalArgumentException("String_Node_Str");
}

Fixed version (ground truth):
@Override public Object getValue(int index,int selector,Object parameters){
  if (index == 1) {
    return getLogicalName();
  }
  if (index == 2) {
    return (byte)getMode().getValue();
  }
  if (index == 3) {
    return getRepetitions();
  }
  if (index == 4) {
    return getRepetitionDelay();
  }
  if (index == 5) {
    int cnt=getCallingWindow().size();
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    GXCommon.setObjectCount(cnt,data);
    if (cnt != 0) {
      for (      AbstractMap.SimpleEntry<GXDateTime,GXDateTime> it : getCallingWindow()) {
        data.write((byte)DataType.STRUCTURE.getValue());
        data.write((byte)2);
        try {
          GXCommon.setData(data,DataType.OCTET_STRING,it.getKey());
          GXCommon.setData(data,DataType.OCTET_STRING,it.getValue());
        }
 catch (        Exception ex) {
          Logger.getLogger(GXDLMSAutoConnect.class.getName()).log(Level.SEVERE,null,ex);
          throw new RuntimeException(ex.getMessage());
        }
      }
    }
    return data.toByteArray();
  }
  if (index == 6) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getDestinations() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getDestinations().length;
      GXCommon.setObjectCount(cnt,data);
      for (      String it : getDestinations()) {
        try {
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it));
        }
 catch (        Exception ex) {
          Logger.getLogger(GXDLMSAutoConnect.class.getName()).log(Level.SEVERE,null,ex);
          throw new RuntimeException(ex.getMessage());
        }
      }
    }
    return data.toByteArray();
  }
  throw new IllegalArgumentException("String_Node_Str");
}