public TableDescriptor preModifyTable(final TableName tableName,
    final TableDescriptor currentDescriptor, final TableDescriptor newDescriptor)
    throws IOException {
    if (coprocEnvironments.isEmpty()) {
      return newDescriptor;
    }
    return execOperationWithResult(new ObserverOperationWithResult<MasterObserver, TableDescriptor>(
      masterObserverGetter, newDescriptor) {
      @Override
      protected TableDescriptor call(MasterObserver observer) throws IOException {
        return observer.preModifyTable(this, tableName, currentDescriptor, getResult());
      }
    });
  }
@return An instance of MasterServices, an object NOT for general user-space Coprocessor
        consumption.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java