Log.errorln("Location:["+myLocator.getAxisLocation(axis0)+","+myLocator.getAxisLocation(axis1)+"]");
       public void action () {           // we stopped reading datanode, lower count by one          DataNodeLevel--;          //  we might still be nested within a data node          // if so, return now to accumulate more data within the DATABLOCK          if(DataNodeLevel != 0)             return;          // now we are ready to read in untagged data (both delimited/formmatted styles)           // from the DATABLOCK          // Note: unfortunately we are reduced to using regex style matching          // instead of a buffer read in formatted reads. Come back and          // improve this later if possible.          XMLDataIOStyle formatObj = CurrentArray.getXMLDataIOStyle();          if ( formatObj instanceof DelimitedXMLDataIOStyle ||               formatObj instanceof FormattedXMLDataIOStyle )           {              // determine the size of the dataFormat (s) in our dataCube              if (CurrentArray.hasFieldAxis()) {                 // if there is a field axis, then its set to the number of fields                 FieldAxis fieldAxis = CurrentArray.getFieldAxis();                 MaxDataFormatIndex = (fieldAxis.getLength()-1);              } else {                 // its homogeneous                  MaxDataFormatIndex = 0;              }              Locator myLocator = CurrentArray.createLocator();AxisInterface axis0 = (AxisInterface) CurrentArray.getAxisList().get(0); AxisInterface axis1 = (AxisInterface) CurrentArray.getAxisList().get(1);               CurrentDataFormatIndex = 0; //              boolean dataHasSpecialIntegers = false;              // set up appropriate instructions for reading              if ( formatObj instanceof FormattedXMLDataIOStyle ) {/*      $template  = $formatObj->_templateNotation(1);      $recordSize = $formatObj->bytes();      $data_has_special_integers = $formatObj->hasSpecialIntegers;*/                 Log.errorln("FORMATTED DATA READ NOT SUPPORTED");              } else {                 // snag the string representation of the values                 ArrayList strValueList = splitStringIntoStringObjects( DATABLOCK.toString(),                                                 ((DelimitedXMLDataIOStyle) formatObj).getDelimiter(),                                                 ((DelimitedXMLDataIOStyle) formatObj).getRepeatable(),                                                 ((DelimitedXMLDataIOStyle) formatObj).getRecordTerminator()                                              );                 // fire data into dataCube                 Iterator iter = strValueList.iterator();                 while (iter.hasNext())                  {                    DataFormat CurrentDataFormat = DataFormatList[CurrentDataFormatIndex];                    // adding data based on what type..                    addDataToCurrentArray(myLocator, (String) iter.next(), CurrentDataFormat);                    // bump up DataFormat appropriately                    if (MaxDataFormatIndex > 0) {                       int currentFastAxisCoordinate = myLocator.getAxisLocation(FastestAxis);                       if ( currentFastAxisCoordinate != LastFastAxisCoordinate )                       {                          LastFastAxisCoordinate = currentFastAxisCoordinate;                          if (CurrentDataFormatIndex == MaxDataFormatIndex)                             CurrentDataFormatIndex = 0;                          else                             CurrentDataFormatIndex++;                       }                    }Log.errorln("Location:["+myLocator.getAxisLocation(axis0)+","+myLocator.getAxisLocation(axis1)+"]");                    myLocator.next();                 }              }          } else if ( formatObj instanceof TaggedXMLDataIOStyle )          {              // Tagged case: do nothing          } else {              Log.errorln("ERROR: Completely unknown DATA IO style:"+formatObj.toString()                           +" aborting read!");              System.exit(-1);          }       }