m_CurrentNode = node;
  public Object readBeanConnection(Element node) throws Exception {    Object                  result;    Vector                  children;    Element                 child;    String                  name;    int                     i;    int                     source;    int                     target;    int                     sourcePos;    int                     targetPos;    String                  event;    boolean                 hidden;    // for debugging only    if (DEBUG)       trace(new Throwable(), node.getAttribute(ATT_NAME));        result = null;    children = XMLDocument.getChildTags(node);    source   = 0;    target   = 0;    event    = "";    hidden   = false;    for (i = 0; i < children.size(); i++) {      child = (Element) children.get(i);      name = child.getAttribute(ATT_NAME);      if (name.equals(VAL_SOURCEID))        source = readIntFromXML(child);      else if (name.equals(VAL_TARGETID))        target = readIntFromXML(child);      else if (name.equals(VAL_EVENTNAME))        event = (String) invokeReadFromXML(child);      else if (name.equals(VAL_HIDDEN))        hidden = readBooleanFromXML(child);      else        System.out.println("WARNING: '" + name            + "' is not a recognized name for " + node.getAttribute(ATT_NAME) + "!");    }    // get position of id    sourcePos = m_BeanInstancesID.indexOf(new Integer(source));    targetPos = m_BeanInstancesID.indexOf(new Integer(target));        // do we currently ignore the connections?    // Note: necessary because of the MetaBeans    if (m_IgnoreBeanConnections) {      addBeanConnectionRelation(m_CurrentMetaBean, sourcePos + "," + targetPos + "," + event + "," + hidden);      return result;    }    // generate it normally    result = createBeanConnection(sourcePos, targetPos, event, hidden);    return result;  }