m_CurrentNode = node;
  public Object readMetaBean(Element node) throws Exception {    Object          result;    Vector          children;    Element         child;    int             i;    String          name;    Vector          inputs;    Vector          outputs;    Vector          coords;    MetaBean        bean;    // for debugging only    if (DEBUG)       trace(new Throwable(), node.getAttribute(ATT_NAME));        children = XMLDocument.getChildTags(node);    result   = new MetaBean();    inputs   = new Vector();    outputs  = new Vector();    coords   = new Vector();        // the current MetaBean    m_CurrentMetaBean = (MetaBean) result;    for (i = 0; i < children.size(); i++) {      child = (Element) children.get(i);      name = child.getAttribute(ATT_NAME);      if (name.equals(VAL_ASSOCIATEDCONNECTIONS))        ((MetaBean) result).setAssociatedConnections((Vector) invokeReadFromXML(child));      else if (name.equals(VAL_INPUTSID))        inputs = (Vector) invokeReadFromXML(child);      else if (name.equals(VAL_OUTPUTSID))        outputs = (Vector) invokeReadFromXML(child);      else if (name.equals(VAL_SUBFLOW))        ((MetaBean) result).setSubFlow((Vector) invokeReadFromXML(child));      else if (name.equals(VAL_ORIGINALCOORDS))        coords = (Vector) invokeReadFromXML(child);      else        System.out.println("WARNING: '" + name            + "' is not a recognized name for " + node.getAttribute(ATT_NAME) + "!");    }    bean = (MetaBean) result;        // set inputs and outputs, after the beans have been instantiated    bean.setInputs(getBeanInstancesForIDs(inputs));    bean.setOutputs(getBeanInstancesForIDs(outputs));        // fix coordinates    bean.setOriginalCoords(fixCoordinates(bean.getBeansInSubFlow(), coords));        return result;  }