private Object handleData(Object tos) {
      if (tos instanceof Generator && ((Generator)tos).getGeneratorData() == null) {
         GeneratorData generatorData = new GeneratorData();
         ((Generator)tos).setGeneratorData(generatorData);
         return generatorData;
      }
      else if (tos instanceof SourceCitation) {
         // what a hack - if we come across a second data tag, set contents to separate
         if (((SourceCitation)tos).getDataTagContents() == SourceCitation.DataTagContents.DATE ||
             ((SourceCitation)tos).getDataTagContents() == SourceCitation.DataTagContents.TEXT) {
            ((SourceCitation)tos).setDataTagContents(SourceCitation.DataTagContents.SEPARATE);
         }
         return tos; // move data attributes directly onto source citation
      }
      return null;
   }