public Parameter createNodeTraitsParameter(boolean rootNode,boolean internalNodes,boolean leafNodes){
  if (!rootNode && !internalNodes && !leafNodes) {
    throw new IllegalArgumentException("At least one of rootNode, internalNodes or leafNodes must be true");
  }
  CompoundParameter parameter=new CompoundParameter(TreeModelParser.NODE_TRAITS);
  hasTraits=true;
  for (int i=externalNodeCount; i < nodeCount; i++) {
    Node node=nodes.get(i);
    node.createTraitParameter();
    if ((rootNode && node == root) || (internalNodes && node != root)) {
      parameter.addParameter(node.traitParameter);
    }
  }
  for (int i=0; i < externalNodeCount; i++) {
    Node node=nodes.get(i);
    node.createTraitParameter();
    if (leafNodes) {
      parameter.addParameter(node.traitParameter);
    }
  }
  return parameter;
}

public Parameter createNodeTraitsParameter ( boolean rootNode , boolean internalNodes , boolean leafNodes ) { if ( ! rootNode && ! internalNodes && ! leafNodes ) { throw new IllegalArgumentException ( "At least one of rootNode, internalNodes or leafNodes must be true" ) ; } CompoundParameter parameter = new CompoundParameter ( TreeModelParser . NODE_TRAITS ) ; hasTraits = true ; for ( int i = externalNodeCount ; i < nodeCount ; i ++ ) { Node node = nodes . get ( i ) ; node . createTraitParameter ( ) ; if ( ( rootNode && node == root ) || ( internalNodes && node != root ) ) { parameter . addParameter ( node . traitParameter ) ; } } for ( int i = 0 ; i < externalNodeCount ; i ++ ) { Node node = nodes . get ( i ) ; node . createTraitParameter ( ) ; if ( leafNodes ) { parameter . addParameter ( node . traitParameter ) ; } } return parameter ; }
create a node traits parameter . is private because it can only be called by the xmlparser
