Value value = new Value (valuePCDATA);
Value value = createCurrentValueListValueObj(valuePCDATA);
       public void action (SaxDocumentHandler handler) {          // generate valuelist values from algoritm IF we need to          // (e.g. values where'nt in a delimited cdata list)          // check to see if we didnt alrealy parse from a delmited string.          if ( ((String) CurrentValueListParameter.get("isDelimitedCase")).equals("true") )              return; // we already did the list, leave here           // 1. grab parent node name          String parentNodeName = (String) CurrentValueListParameter.get("parentNodeName");          // 2. Find the list of values. If there is a reference object, clone it to get          //    the new values list, otherwise, determine values from attributes           //    (e.g. algorithm method)          ArrayList values = null;          String valueListIdRef = (String) CurrentValueListParameter.get("valueListIdRef");          if (valueListIdRef != null) {             if (ValueListObj.containsKey(valueListIdRef)) {                 // Just a simple clone since we have stored the ArrayList rather than the                 // ValueList object (which actually doesnt exist. :P                 ArrayList refValueListObj = (ArrayList) ValueListObj.get(valueListIdRef);                 values  = (ArrayList) refValueListObj.clone();             } else {                 Log.warnln("Error: Reader got an valueList with ValueListIdRef=\""+valueListIdRef+"\" but no previous valueList has that id! Ignoring add valueList request.");                 return;              }          } else {              values = getValueListNodeValues();          }           // 4. add these values to the lookup table, if the original valueList had an ID          String valueListId = (String) CurrentValueListParameter.get("valueListId");          if (valueListId != null) {              // a warning check, just in case               if (ValueListObj.containsKey(valueListId))                 Log.warnln("More than one valueList node with valueListId=\""+valueListId+"\", using latest node." );              // add the valueList array into the list of valueList objects              ValueListObj.put(valueListId, values);          }          // 5. Populate correct parent node w/ values           if(values.size() > 0 ) { // needed safety?             ArrayList valueObjList = new ArrayList();             if( parentNodeName.equals(XDFNodeName.AXIS) )             {                    // get the last axis                    List axisList = (List) CurrentArray.getAxes();                    Axis lastAxisObject = (Axis) axisList.get(axisList.size()-1);                    Iterator iter = values.iterator();                    while (iter.hasNext()) {                        String valuePCDATA = (String) iter.next();                        Value value = new Value (valuePCDATA);                        if(lastAxisObject.addAxisValue(value))                            valueObjList.add(value);                    }             }              else if ( parentNodeName.equals(XDFNodeName.VALUEGROUP) )             {                if ( LastValueGroupParentObject instanceof Parameter )                {                    Parameter myParamObject = (Parameter) LastValueGroupParentObject;                    Iterator iter = values.iterator();                    while (iter.hasNext()) {                        String valuePCDATA = (String) iter.next();                        Value value = new Value (valuePCDATA);			((Parameter) LastValueGroupParentObject).addValue(value);                        valueObjList.add(value);                    }                } else if ( LastValueGroupParentObject instanceof Axis )                {                    // get the last axis                    Axis myAxisObject = (Axis) LastValueGroupParentObject;                    Iterator iter = values.iterator();                    while (iter.hasNext()) {                        String valuePCDATA = (String) iter.next();                        Value value = new Value (valuePCDATA);                        if (myAxisObject.addAxisValue(value))                           valueObjList.add(value);                     }                } else {                    Log.warnln("Error: unknown valueGroupParent "+LastValueGroupParentObject+                               " cant treat for "+XDFNodeName.VALUELIST);                    return; // bail                 }             } else if ( parentNodeName.equals(XDFNodeName.PARAMETER) )             {                 Iterator iter = values.iterator();                 while (iter.hasNext())                 {                    String valuePCDATA = (String) iter.next();                    Value value = new Value (valuePCDATA);		    LastParameterObject.addValue(value);                    valueObjList.add(value);                 }             } else {                 Log.errorln("Error: weird parent node "+parentNodeName+" for "+XDFNodeName.VALUELIST);                 System.exit(-1); // fatal error, shut down              }          }// Need to do something wi/ ValueObjList HERE??        }