docs: function validateData(options, data, newData) {
    //console.log('validateData called with ', arguments.length, 'arguments\n', 
    //    util.inspect(arguments, {depth: null}));
  
    var context = merge({}, options);
  
    if (context.baseSchema === undefined) {
      context.baseSchema = context.schema;
    }
  
    //if (newData !== undefined) {
      context.newData = newData;
      context.data = data;
    //} else {
    //  context.newData = data;
    //}
  
    //console.log('about to start', context);
    data = doValidateAdd(context);
    var i;
  
    //console.log('after initial data load, data is: ', context.data, '\n', context);
  
    if (arguments.length > 3) {
      //console.log('have more than two datas');
      for (i = 3; i < arguments.length; i++) {
        //build context
        context.newData = arguments[i];
        data = doValidateAdd(context);
        //console.log('after handling data', i, 'data is', context.data);
      }
    }
  
    //console.log('validateData complete', context, data);
  
    return data;
  }