public EmbeddedRequest decodeEmbeddedRequest(String value) throws ParseException {
RequestedEvent[] requestedEvents = null;
EventName[] signalEvents = null;
DigitMap digitMap = null;
while (value.length() > 0) {
String temp = this.getEvent(value);
value = value.substring(temp.length(), value.length());
if (temp.startsWith(",")) {
temp = temp.substring(1, temp.length());
}
if (temp.startsWith("R")) {
temp = temp.substring(2, temp.length() - 1);
requestedEvents = decodeRequestedEventList(temp);
} else if (temp.startsWith("S")) {
temp = temp.substring(2, temp.length() - 1);
signalEvents = decodeEventNames(temp);
} else if (temp.startsWith("D")) {
temp = temp.substring(2, temp.length() - 1);
digitMap = new DigitMap(temp);
}
}
return new EmbeddedRequest(requestedEvents, signalEvents, digitMap);
}