/**
   * Read the MessageLink from the given {@link XMLStreamReader}
   *
   * @param r The {@link XMLStreamReader}
   * @param nsMap The {@link INamespaceMap} holding all data
   * @return The {@link MessageLink}
   * @throws MalformedTLGLSyntaxException
   */
  private static MessageLink readInMessageLinkTL(
      XMLStreamReader r, INamespaceMap<String, String> nsMap) throws MalformedTLGLSyntaxException {
    MessageLink messageLink = new MessageLink();

    Object temp = BPEL4ChorReader.getStrAttribute(r, "name", false);
    if (temp != null) {
      messageLink.setName(temp.toString());
    }
    temp = null;
    temp = BPEL4ChorReader.getStrAttribute(r, "sender", false);
    if (temp != null) {
      messageLink.setSender(temp.toString());
    }

    List<String> tempList = BPEL4ChorReader.getStrsAttribute(r, "senders", false);
    if (tempList != null) {
      messageLink.setSenders(tempList);
    }
    temp = null;
    temp = BPEL4ChorReader.getStrAttribute(r, "sendActivity", false);
    if (temp != null) {
      messageLink.setSendActivity(temp.toString());
    }

    messageLink.setReceiver(BPEL4ChorReader.getStrAttribute(r, "receiver", true).toString());
    temp = null;
    temp = BPEL4ChorReader.getStrAttribute(r, "receiveActivity", false);
    if (temp != null) {
      messageLink.setReceiveActivity(temp.toString());
    }
    temp = null;
    temp = BPEL4ChorReader.getStrAttribute(r, "bindSenderTo", false);
    if (temp != null) {
      messageLink.setBindSenderTo(temp.toString());
    }

    messageLink.setMessageName(BPEL4ChorReader.getStrAttribute(r, "messageName", true).toString());

    tempList = BPEL4ChorReader.getStrsAttribute(r, "participantRefs", false);
    if (tempList != null) {
      messageLink.setParticipantRefs(tempList);
    }

    tempList = BPEL4ChorReader.getStrsAttribute(r, "copyParticipantRefsTo", false);
    if (tempList != null) {
      messageLink.setCopyParticipantRefsTo(tempList);
    }
    return messageLink;
  }