Program: 53289
Project: 53289
Buggy source:
@Override public Object getValue(int index,int selector,Object parameters){
  if (index == 1) {
    return getLogicalName();
  }
  if (index == 2) {
    return GXDLMSClient.changeType(GXCommon.getBytes(getCalendarNameActive()),DataType.OCTET_STRING);
  }
  if (index == 3) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getSeasonProfileActive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getSeasonProfileActive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSSeasonProfile it : getSeasonProfileActive()) {
          data.write((byte)DataType.STRUCTURE.getValue());
          data.write(3);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.OCTET_STRING,it.getStart());
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getWeekName()));
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 4) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getWeekProfileTableActive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getWeekProfileTableActive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSWeekProfile it : getWeekProfileTableActive()) {
          data.write((byte)DataType.ARRAY.getValue());
          data.write(8);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.UINT8,it.getMonday());
          GXCommon.setData(data,DataType.UINT8,it.getTuesday());
          GXCommon.setData(data,DataType.UINT8,it.getWednesday());
          GXCommon.setData(data,DataType.UINT8,it.getThursday());
          GXCommon.setData(data,DataType.UINT8,it.getFriday());
          GXCommon.setData(data,DataType.UINT8,it.getSaturday());
          GXCommon.setData(data,DataType.UINT8,it.getSunday());
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 5) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getDayProfileTableActive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getDayProfileTableActive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSDayProfile it : getDayProfileTableActive()) {
          data.write((byte)DataType.STRUCTURE.getValue());
          data.write(2);
          GXCommon.setData(data,DataType.UINT8,it.getDayId());
          data.write((byte)DataType.ARRAY.getValue());
          GXCommon.setObjectCount(it.getDaySchedules().length,data);
          for (          GXDLMSDayProfileAction action : it.getDaySchedules()) {
            data.write((byte)DataType.STRUCTURE.getValue());
            data.write(3);
            GXCommon.setData(data,DataType.TIME,action.getStartTime());
            GXCommon.setData(data,DataType.OCTET_STRING,action.getScriptLogicalName().getBytes("String_Node_Str"));
            GXCommon.setData(data,DataType.UINT16,action.getScriptSelector());
          }
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 6) {
    return GXDLMSClient.changeType(GXCommon.getBytes(getCalendarNamePassive()),DataType.OCTET_STRING);
  }
  if (index == 7) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getSeasonProfilePassive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getSeasonProfilePassive().length;
      try {
        GXCommon.setObjectCount(cnt,data);
        for (        GXDLMSSeasonProfile it : getSeasonProfilePassive()) {
          data.write((byte)DataType.STRUCTURE.getValue());
          data.write(3);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.OCTET_STRING,it.getStart());
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getWeekName()));
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 8) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getWeekProfileTablePassive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getWeekProfileTablePassive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSWeekProfile it : getWeekProfileTablePassive()) {
          data.write((byte)DataType.ARRAY.getValue());
          data.write(8);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.UINT8,it.getMonday());
          GXCommon.setData(data,DataType.UINT8,it.getTuesday());
          GXCommon.setData(data,DataType.UINT8,it.getWednesday());
          GXCommon.setData(data,DataType.UINT8,it.getThursday());
          GXCommon.setData(data,DataType.UINT8,it.getFriday());
          GXCommon.setData(data,DataType.UINT8,it.getSaturday());
          GXCommon.setData(data,DataType.UINT8,it.getSunday());
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 9) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getDayProfileTablePassive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getDayProfileTablePassive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSDayProfile it : getDayProfileTablePassive()) {
          data.write(DataType.STRUCTURE.getValue());
          data.write(2);
          GXCommon.setData(data,DataType.UINT8,it.getDayId());
          data.write(DataType.ARRAY.getValue());
          GXCommon.setObjectCount(it.getDaySchedules().length,data);
          for (          GXDLMSDayProfileAction action : it.getDaySchedules()) {
            data.write(DataType.STRUCTURE.getValue());
            data.write(3);
            GXCommon.setData(data,DataType.TIME,action.getStartTime());
            GXCommon.setData(data,DataType.OCTET_STRING,action.getScriptLogicalName().getBytes("String_Node_Str"));
            GXCommon.setData(data,DataType.UINT16,action.getScriptSelector());
          }
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 10) {
    return getTime();
  }
  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 GXDLMSClient.changeType(GXCommon.getBytes(getCalendarNameActive()),DataType.OCTET_STRING);
  }
  if (index == 3) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getSeasonProfileActive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getSeasonProfileActive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSSeasonProfile it : getSeasonProfileActive()) {
          data.write((byte)DataType.STRUCTURE.getValue());
          data.write(3);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.OCTET_STRING,it.getStart());
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getWeekName()));
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 4) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getWeekProfileTableActive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getWeekProfileTableActive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSWeekProfile it : getWeekProfileTableActive()) {
          data.write((byte)DataType.ARRAY.getValue());
          data.write(8);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.UINT8,it.getMonday());
          GXCommon.setData(data,DataType.UINT8,it.getTuesday());
          GXCommon.setData(data,DataType.UINT8,it.getWednesday());
          GXCommon.setData(data,DataType.UINT8,it.getThursday());
          GXCommon.setData(data,DataType.UINT8,it.getFriday());
          GXCommon.setData(data,DataType.UINT8,it.getSaturday());
          GXCommon.setData(data,DataType.UINT8,it.getSunday());
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 5) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getDayProfileTableActive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getDayProfileTableActive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSDayProfile it : getDayProfileTableActive()) {
          data.write((byte)DataType.STRUCTURE.getValue());
          data.write(2);
          GXCommon.setData(data,DataType.UINT8,it.getDayId());
          data.write((byte)DataType.ARRAY.getValue());
          GXCommon.setObjectCount(it.getDaySchedules().length,data);
          for (          GXDLMSDayProfileAction action : it.getDaySchedules()) {
            data.write((byte)DataType.STRUCTURE.getValue());
            data.write(3);
            GXCommon.setData(data,DataType.TIME,action.getStartTime());
            GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(action.getScriptLogicalName()));
            GXCommon.setData(data,DataType.UINT16,action.getScriptSelector());
          }
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 6) {
    return GXDLMSClient.changeType(GXCommon.getBytes(getCalendarNamePassive()),DataType.OCTET_STRING);
  }
  if (index == 7) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getSeasonProfilePassive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getSeasonProfilePassive().length;
      try {
        GXCommon.setObjectCount(cnt,data);
        for (        GXDLMSSeasonProfile it : getSeasonProfilePassive()) {
          data.write((byte)DataType.STRUCTURE.getValue());
          data.write(3);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.OCTET_STRING,it.getStart());
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getWeekName()));
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 8) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getWeekProfileTablePassive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getWeekProfileTablePassive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSWeekProfile it : getWeekProfileTablePassive()) {
          data.write((byte)DataType.ARRAY.getValue());
          data.write(8);
          GXCommon.setData(data,DataType.OCTET_STRING,GXCommon.getBytes(it.getName()));
          GXCommon.setData(data,DataType.UINT8,it.getMonday());
          GXCommon.setData(data,DataType.UINT8,it.getTuesday());
          GXCommon.setData(data,DataType.UINT8,it.getWednesday());
          GXCommon.setData(data,DataType.UINT8,it.getThursday());
          GXCommon.setData(data,DataType.UINT8,it.getFriday());
          GXCommon.setData(data,DataType.UINT8,it.getSaturday());
          GXCommon.setData(data,DataType.UINT8,it.getSunday());
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 9) {
    ByteArrayOutputStream data=new ByteArrayOutputStream();
    data.write((byte)DataType.ARRAY.getValue());
    if (getDayProfileTablePassive() == null) {
      GXCommon.setObjectCount(0,data);
    }
 else {
      int cnt=getDayProfileTablePassive().length;
      GXCommon.setObjectCount(cnt,data);
      try {
        for (        GXDLMSDayProfile it : getDayProfileTablePassive()) {
          data.write(DataType.STRUCTURE.getValue());
          data.write(2);
          GXCommon.setData(data,DataType.UINT8,it.getDayId());
          data.write(DataType.ARRAY.getValue());
          GXCommon.setObjectCount(it.getDaySchedules().length,data);
          for (          GXDLMSDayProfileAction action : it.getDaySchedules()) {
            data.write(DataType.STRUCTURE.getValue());
            data.write(3);
            GXCommon.setData(data,DataType.TIME,action.getStartTime());
            GXCommon.setData(data,DataType.OCTET_STRING,action.getScriptLogicalName());
            GXCommon.setData(data,DataType.UINT16,action.getScriptSelector());
          }
        }
      }
 catch (      Exception ex) {
        throw new RuntimeException(ex.getMessage());
      }
    }
    return data.toByteArray();
  }
  if (index == 10) {
    return getTime();
  }
  throw new IllegalArgumentException("String_Node_Str");
}