code: public void parse(UNode aliasNode) {
          assert aliasNode != null;
          
          // Ensure the alias name is valid and save it.
          setName(aliasNode.getName());
          
          // The only child element we expect is "expression".
          for (String childName : aliasNode.getMemberNames()) {
              // All child nodes must be values.
              UNode childNode = aliasNode.getMember(childName);
              Utils.require(childNode.isValue(),
                            "Value of alias attribute must be a string: " + childNode);
              Utils.require(childName.equals("expression"),
                            "'expression' expected: " + childName);
              Utils.require(m_expression == null,
                            "'expression' can only be specified once");
              setExpression(childNode.getValue());
          }
  
          // Ensure expression was specified.
          Utils.require(m_expression != null, "Alias definition missing 'expression': " + aliasNode);
      }
docs: Parse the alias definition rooted at the given UNode, copying its properties into
  this object.
  
  @param aliasNode Root of an alias definition.