newfieldaxis.setAxisId(findUniqueIdName(AxisObj, newfieldaxis.getAxisId()));   AxisObj.put(newfieldaxis.getAxisId(), newfieldaxis);
       public Object action (SaxDocumentHandler handler, AttributeList attrs) {          // create new object appropriately           FieldAxis newfieldaxis = new FieldAxis();          newfieldaxis.setXMLAttributes(attrs); // set XML attributes from passed list           // Every axis must have *either* axisId *or* an axisIdRef           // else, its illegal!          String axisId = null;          String axisIdRef = null;          if ( (axisId = newfieldaxis.getAxisId()) != null                || (axisIdRef = newfieldaxis.getAxisIdRef()) != null             )          {             // add this object to the lookup table, if it has an ID             if (axisId != null) {                 // a warning check, just in case                  if (AxisObj.containsKey(axisId))                    Log.warnln("More than one axis node with axisId=\""+axisId+"\", using latest node." );                 // add this into the list of axis objects                 AxisObj.put(axisId, newfieldaxis);             }             //  If there is a reference object, clone it to get             //  the new axis             if (axisIdRef != null) {                 if (AxisObj.containsKey(axisIdRef)) {                    BaseObject refAxisObj = (BaseObject) AxisObj.get(axisIdRef);                    try {                      newfieldaxis = (FieldAxis) refAxisObj.clone();                    } catch (java.lang.CloneNotSupportedException e) {                      Log.errorln("Weird error, cannot clone field object. Aborting read.");                      System.exit(-1);                    }                    // override attrs with those in passed list                    newfieldaxis.setXMLAttributes(attrs);                 } else {                    Log.warnln("Error: Reader got an fieldaxis with AxisIdRef=\""+axisIdRef+"\" but no previous field axis has that id! Ignoring add fieldAxis request.");                    return (Object) null;                 }             }             // add this axis to the current array object             CurrentArray.addFieldAxis(newfieldaxis);          } else {             Log.errorln("FieldAxis object:"+newfieldaxis+" lacks either axisId or axisIdRef, ignoring!");          }          return newfieldaxis;       }