reader.parse(dataFile);
getDataIO().writeDataToDatabase(reader, dataFile.getAbsolutePath());
    private void readSingleDataFile(Task task, DataReader reader, File dataFile)    {        if (!dataFile.exists())        {            task.log("Could not find data file "+dataFile.getAbsolutePath(), Project.MSG_ERR);        }        else if (!dataFile.isFile())        {            task.log("Path "+dataFile.getAbsolutePath()+" does not denote a data file", Project.MSG_ERR);        }        else if (!dataFile.canRead())        {            task.log("Could not read data file "+dataFile.getAbsolutePath(), Project.MSG_ERR);        }        else        {            try            {                reader.parse(dataFile);                task.log("Written data file "+dataFile.getAbsolutePath() + " to database", Project.MSG_INFO);            }            catch (Exception ex)            {                if (isFailOnError())                {                    throw new BuildException("Could not parse or write data file "+dataFile.getAbsolutePath(), ex);                }                else                {                    task.log("Could not parse or write data file "+dataFile.getAbsolutePath() + ":", Project.MSG_ERR);                    task.log(ExceptionUtils.getFullStackTrace(ex));                }            }        }    }