public void fromGlue(GlueDecoder decoder) throws GlueException {
    Long stamp = (Long) decoder.decode("TimeStamp");
    if (stamp == null) throw new GlueException("The \"TimeStamp\" was missing!");
    if (stamp <= 0L) throw new GlueException("The \"TimeStamp\" was illegal!");
    pTimeStamp = stamp;

    NodeEventOp nodeOp = (NodeEventOp) decoder.decode("NodeOp");
    if (nodeOp == null) throw new GlueException("The \"NodeOp\" was missing!");
    pNodeOp = nodeOp;

    String name = (String) decoder.decode("Name");
    if (name == null) throw new GlueException("The \"Name\" was missing!");
    pName = name;

    String author = (String) decoder.decode("Author");
    if (author == null) throw new GlueException("The \"Author\" was missing!");
    pAuthor = author;
  }
  public void fromGlue(GlueDecoder decoder) throws GlueException {
    Long groupID = (Long) decoder.decode("GroupID");
    if (groupID == null) throw new GlueException("The \"GroupID\" was missing!");
    pGroupID = groupID;

    NodeID nodeID = (NodeID) decoder.decode("NodeID");
    if (nodeID == null) throw new GlueException("The \"NodeID\" was missing!");
    pNodeID = nodeID;

    String toolset = (String) decoder.decode("Toolset");
    if (toolset == null) throw new GlueException("The \"Toolset\" was missing or (null)!");
    pToolset = toolset;

    {
      Long stamp = (Long) decoder.decode("SubmittedStamp");
      if (stamp == null) throw new GlueException("The \"SubmittedStamp\" was missing!");
      pSubmittedStamp = stamp;
    }

    {
      Long stamp = (Long) decoder.decode("CompletedStamp");
      if (stamp != null) pCompletedStamp = stamp;
    }

    FileSeq fseq = (FileSeq) decoder.decode("RootSeq");
    if (fseq == null) throw new GlueException("The \"RootSeq\" was missing!");
    pRootSeq = fseq;

    {
      ArrayList<Long> ids = (ArrayList<Long>) decoder.decode("RootIDs");
      if (ids != null) pRootIDs = ids;
      else pRootIDs = new ArrayList<Long>();
    }

    {
      TreeSet<Long> ids = (TreeSet<Long>) decoder.decode("ExternalIDs");
      if (ids != null) pExternalIDs = ids;
      else pExternalIDs = new TreeSet<Long>();
    }

    {
      TreeSet<Long> ids = (TreeSet<Long>) decoder.decode("JobIDs");
      if (ids != null) pJobIDs = ids;
      else pJobIDs = new TreeSet<Long>();
    }
  }
  public void fromGlue(GlueDecoder decoder) throws GlueException {
    super.fromGlue(decoder);

    Boolean tf = (Boolean) decoder.decode("IsListLayout");
    pIsListLayout = (tf != null) && tf;
  }