docs: function validateXY(method, x, y, mode) {
          var xOk, yOk;
          if ('undefined' !== typeof x) {
              if ('number' !== typeof x || x < 0) {
                  throw new TypeError('Table.' + method + ': x must be ' +
                                      'a non-negative number or undefined.');
              }
              xOk = true;
          }
          if ('undefined' !== typeof y) {
              if ('number' !== typeof y || y < 0) {
                  throw new TypeError('Table.' + method + ': y must be ' +
                                      'a non-negative number or undefined.');
              }
              yOk = true;
          }
          if (mode === 'either' && xOk && yOk) {
              throw new Error('Table.' + method + ': either x OR y can ' +
                              'be defined.');
          }
          else if (mode === 'both' && (!xOk || !yOk)) {
              throw new Error('Table.' + method + ': both x AND y must ' +
                              'be defined.');
          }
          else if (mode === 'any' && (!xOk && !yOk)) {
              throw new Error('Table.' + method + ': either x or y must ' +
                              'be defined.');
          }
          else if (mode === 'x' && !xOk) {
              throw new Error('Table.' + method + ': x must be defined.');
          }
          else if (mode === 'y' && !yOk) {
              throw new Error('Table.' + method + ': y be defined.');
          }
      }