Fix #3 Updated the accumulo-proxy with latest from accumulo (pre-2.0) (#4)

diff --git a/pom.xml b/pom.xml
index f87ceac..0e52270 100644
--- a/pom.xml
+++ b/pom.xml
@@ -93,11 +93,11 @@
     <it.failIfNoSpecifiedTests>false</it.failIfNoSpecifiedTests>
     <maven.compiler.source>1.8</maven.compiler.source>
     <maven.compiler.target>1.8</maven.compiler.target>
-    <slf4j.version>1.7.25</slf4j.version>
+    <slf4j.version>1.7.26</slf4j.version>
     <sourceReleaseAssemblyDescriptor>source-release-tar</sourceReleaseAssemblyDescriptor>
     <spotbugs.excludeFilterFile>src/main/spotbugs/exclude-filter.xml</spotbugs.excludeFilterFile>
-    <spotbugs.version>3.1.6</spotbugs.version>
-    <thrift.version>0.11.0</thrift.version>
+    <spotbugs.version>3.1.7</spotbugs.version>
+    <thrift.version>0.12.0</thrift.version>
   </properties>
   <dependencies>
     <dependency>
@@ -115,13 +115,13 @@
     <dependency>
       <groupId>com.google.auto.service</groupId>
       <artifactId>auto-service</artifactId>
-      <version>1.0-rc4</version>
+      <version>1.0-rc5</version>
       <optional>true</optional>
     </dependency>
     <dependency>
       <groupId>com.google.guava</groupId>
       <artifactId>guava</artifactId>
-      <version>26.0-jre</version>
+      <version>27.1-jre</version>
     </dependency>
     <dependency>
       <groupId>commons-lang</groupId>
@@ -131,22 +131,22 @@
     <dependency>
       <groupId>org.apache.accumulo</groupId>
       <artifactId>accumulo-core</artifactId>
-      <version>2.0.0-SNAPSHOT</version>
+      <version>${accumulo.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
       <artifactId>accumulo-minicluster</artifactId>
-      <version>2.0.0-SNAPSHOT</version>
+      <version>${accumulo.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
       <artifactId>accumulo-server-base</artifactId>
-      <version>2.0.0-SNAPSHOT</version>
+      <version>${accumulo.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
       <artifactId>accumulo-start</artifactId>
-      <version>2.0.0-SNAPSHOT</version>
+      <version>${accumulo.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.hadoop</groupId>
@@ -157,6 +157,13 @@
       <groupId>org.apache.thrift</groupId>
       <artifactId>libthrift</artifactId>
       <version>${thrift.version}</version>
+      <!-- exclude vulnerable lib see https://issues.apache.org/jira/browse/HTTPCLIENT-1803 -->
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.httpcomponents</groupId>
+          <artifactId>httpclient</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.slf4j</groupId>
@@ -170,12 +177,24 @@
       <scope>runtime</scope>
     </dependency>
     <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.6</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>4.12</version>
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.accumulo</groupId>
+      <artifactId>accumulo-test</artifactId>
+      <version>${accumulo.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.easymock</groupId>
       <artifactId>easymock</artifactId>
       <version>3.6</version>
@@ -221,11 +240,6 @@
                 <artifactId>library-detectors</artifactId>
                 <version>1.2.0</version>
               </plugin>
-              <plugin>
-                <groupId>com.h3xstream.findsecbugs</groupId>
-                <artifactId>findsecbugs-plugin</artifactId>
-                <version>1.8.0</version>
-              </plugin>
             </plugins>
           </configuration>
         </plugin>
@@ -453,7 +467,7 @@
               <failOnWarning>true</failOnWarning>
               <ignoredUnusedDeclaredDependencies>
                 <!-- auto-service isn't detected as use since the annotation has retention of source -->
-                <unusedDeclaredDependency>com.google.auto.service:auto-service:jar:1.0-rc4</unusedDeclaredDependency>
+                <unusedDeclaredDependency>com.google.auto.service:auto-service:jar:1.0-rc5</unusedDeclaredDependency>
                 <!-- unused/declared implementation jars or parent jars that bring in children -->
                 <unusedDeclaredDependency>org.apache.hadoop:hadoop-client-runtime:jar:${hadoop.version}</unusedDeclaredDependency>
                 <unusedDeclaredDependency>org.slf4j:slf4j-log4j12:jar:${slf4j.version}</unusedDeclaredDependency>
@@ -693,9 +707,10 @@
       <build>
         <plugins>
           <plugin>
+            <!-- version 1.6.0 is broken; see https://github.com/mojohaus/exec-maven-plugin/issues/75 -->
             <groupId>org.codehaus.mojo</groupId>
             <artifactId>exec-maven-plugin</artifactId>
-            <version>1.6.0</version>
+            <version>1.5.0</version>
             <executions>
               <execution>
                 <id>generate-thrift</id>
diff --git a/src/main/cpp/AccumuloProxy.cpp b/src/main/cpp/AccumuloProxy.cpp
index bdf09ef..0a45a98 100644
--- a/src/main/cpp/AccumuloProxy.cpp
+++ b/src/main/cpp/AccumuloProxy.cpp
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/src/main/cpp/AccumuloProxy.h b/src/main/cpp/AccumuloProxy.h
index 2254b43..6b86a41 100644
--- a/src/main/cpp/AccumuloProxy.h
+++ b/src/main/cpp/AccumuloProxy.h
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/src/main/cpp/proxy_constants.cpp b/src/main/cpp/proxy_constants.cpp
index d55dd82..13ea4bd 100644
--- a/src/main/cpp/proxy_constants.cpp
+++ b/src/main/cpp/proxy_constants.cpp
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/src/main/cpp/proxy_constants.h b/src/main/cpp/proxy_constants.h
index 222c51b..4b281c1 100644
--- a/src/main/cpp/proxy_constants.h
+++ b/src/main/cpp/proxy_constants.h
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/src/main/cpp/proxy_types.cpp b/src/main/cpp/proxy_types.cpp
index 7a74599..ca4bbd8 100644
--- a/src/main/cpp/proxy_types.cpp
+++ b/src/main/cpp/proxy_types.cpp
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/src/main/cpp/proxy_types.h b/src/main/cpp/proxy_types.h
index d2ef4fc..45ae315 100644
--- a/src/main/cpp/proxy_types.h
+++ b/src/main/cpp/proxy_types.h
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/src/main/java/org/apache/accumulo/proxy/Proxy.java b/src/main/java/org/apache/accumulo/proxy/Proxy.java
index 8d27cd3..b7575e3 100644
--- a/src/main/java/org/apache/accumulo/proxy/Proxy.java
+++ b/src/main/java/org/apache/accumulo/proxy/Proxy.java
@@ -24,18 +24,18 @@
 import java.util.Properties;
 
 import org.apache.accumulo.core.cli.Help;
-import org.apache.accumulo.core.client.impl.ClientConfConverter;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.client.security.tokens.KerberosToken;
+import org.apache.accumulo.core.clientImpl.ClientConfConverter;
 import org.apache.accumulo.core.conf.ClientProperty;
 import org.apache.accumulo.core.conf.ConfigurationTypeHelper;
 import org.apache.accumulo.core.conf.Property;
 import org.apache.accumulo.core.rpc.SslConnectionParams;
-import org.apache.accumulo.core.trace.wrappers.TraceWrap;
+import org.apache.accumulo.core.trace.TraceUtil;
 import org.apache.accumulo.core.util.HostAndPort;
 import org.apache.accumulo.minicluster.MiniAccumuloCluster;
 import org.apache.accumulo.proxy.thrift.AccumuloProxy;
-import org.apache.accumulo.server.metrics.MetricsFactory;
+import org.apache.accumulo.server.metrics.Metrics;
 import org.apache.accumulo.server.rpc.SaslServerConnectionParams;
 import org.apache.accumulo.server.rpc.ServerAddress;
 import org.apache.accumulo.server.rpc.TServerUtils;
@@ -136,12 +136,6 @@
     boolean useMini = Boolean
         .parseBoolean(proxyProps.getProperty(USE_MINI_ACCUMULO_KEY, USE_MINI_ACCUMULO_DEFAULT));
 
-    if (!useMini && clientProps == null) {
-      System.err.println("The '-c' option must be set with an accumulo-client.properties file or"
-          + " proxy.properties must contain either useMiniAccumulo=true");
-      System.exit(1);
-    }
-
     if (!proxyProps.containsKey("port")) {
       System.err.println("No port property");
       System.exit(1);
@@ -152,23 +146,22 @@
       final File folder = Files.createTempDirectory(System.currentTimeMillis() + "").toFile();
       final MiniAccumuloCluster accumulo = new MiniAccumuloCluster(folder, "secret");
       accumulo.start();
-      clientProps.setProperty(ClientProperty.INSTANCE_NAME.getKey(),
-          accumulo.getConfig().getInstanceName());
-      clientProps.setProperty(ClientProperty.INSTANCE_ZOOKEEPERS.getKey(),
-          accumulo.getZooKeepers());
-      Runtime.getRuntime().addShutdownHook(new Thread() {
-        @Override
-        public void start() {
-          try {
-            accumulo.stop();
-          } catch (Exception e) {
-            throw new RuntimeException();
-          } finally {
-            if (!folder.delete())
-              log.warn("Unexpected error removing {}", folder);
+      clientProps = accumulo.getClientProperties();
+      Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+        try {
+          accumulo.stop();
+        } catch (InterruptedException | IOException e) {
+          throw new RuntimeException(e);
+        } finally {
+          if (!folder.delete()) {
+            log.warn("Unexpected error removing {}", folder);
           }
         }
-      });
+      }));
+    } else if (clientProps == null) {
+      System.err.println("The '-c' option must be set with an accumulo-client.properties file or"
+          + " proxy.properties must contain either useMiniAccumulo=true");
+      System.exit(1);
     }
 
     Class<? extends TProtocolFactory> protoFactoryClass = Class
@@ -209,14 +202,13 @@
     // No timeout
     final long serverSocketTimeout = 0L;
     // Use the new hadoop metrics2 support
-    final MetricsFactory metricsFactory = new MetricsFactory(false);
     final String serverName = "Proxy", threadName = "Accumulo Thrift Proxy";
 
     // create the implementation of the proxy interface
     ProxyServer impl = new ProxyServer(props);
 
     // Wrap the implementation -- translate some exceptions
-    AccumuloProxy.Iface wrappedImpl = TraceWrap.service(impl);
+    AccumuloProxy.Iface wrappedImpl = TraceUtil.wrapService(impl);
 
     // Create the processor from the implementation
     TProcessor processor = new AccumuloProxy.Processor<>(wrappedImpl);
@@ -279,8 +271,8 @@
     }
 
     // Hook up support for tracing for thrift calls
-    TimedProcessor timedProcessor = new TimedProcessor(metricsFactory, processor, serverName,
-        threadName);
+    TimedProcessor timedProcessor = new TimedProcessor(
+        Metrics.initSystem(Proxy.class.getSimpleName()), processor, serverName, threadName);
 
     // Create the thrift server with our processor and properties
 
diff --git a/src/main/java/org/apache/accumulo/proxy/ProxyServer.java b/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
index f3e6e4c..77e8e20 100644
--- a/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
+++ b/src/main/java/org/apache/accumulo/proxy/ProxyServer.java
@@ -59,16 +59,15 @@
 import org.apache.accumulo.core.client.admin.ActiveScan;
 import org.apache.accumulo.core.client.admin.CompactionConfig;
 import org.apache.accumulo.core.client.admin.NewTableConfiguration;
-import org.apache.accumulo.core.client.admin.TableOperations.ImportMappingOptions;
 import org.apache.accumulo.core.client.admin.TimeType;
-import org.apache.accumulo.core.client.impl.ClientConfConverter;
-import org.apache.accumulo.core.client.impl.Credentials;
-import org.apache.accumulo.core.client.impl.Namespace;
-import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType;
-import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException;
 import org.apache.accumulo.core.client.security.SecurityErrorCode;
 import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
 import org.apache.accumulo.core.client.security.tokens.PasswordToken;
+import org.apache.accumulo.core.clientImpl.ClientConfConverter;
+import org.apache.accumulo.core.clientImpl.Credentials;
+import org.apache.accumulo.core.clientImpl.Namespace;
+import org.apache.accumulo.core.clientImpl.thrift.TableOperationExceptionType;
+import org.apache.accumulo.core.clientImpl.thrift.ThriftTableOperationException;
 import org.apache.accumulo.core.data.Column;
 import org.apache.accumulo.core.data.ConditionalMutation;
 import org.apache.accumulo.core.data.Key;
@@ -225,11 +224,11 @@
     String[] pair = ByteBufferUtil.toString(login).split(",", 2);
     if (instance.getInstanceID().equals(pair[0])) {
       Credentials creds = Credentials.deserialize(pair[1]);
-      return ((org.apache.accumulo.core.client.impl.ConnectorImpl) instance
+      return ((org.apache.accumulo.core.clientImpl.ConnectorImpl) instance
           .getConnector(creds.getPrincipal(), creds.getToken())).getAccumuloClient();
     } else {
       throw new org.apache.accumulo.core.client.AccumuloSecurityException(pair[0],
-          org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode.INVALID_INSTANCEID);
+          org.apache.accumulo.core.clientImpl.thrift.SecurityErrorCode.INVALID_INSTANCEID);
     }
   }
 
@@ -261,7 +260,7 @@
       throw ex;
     } catch (AccumuloException e) {
       Throwable cause = e.getCause();
-      if (null != cause && TableNotFoundException.class.equals(cause.getClass())) {
+      if (cause != null && TableNotFoundException.class.equals(cause.getClass())) {
         throw new org.apache.accumulo.proxy.thrift.TableNotFoundException(cause.toString());
       }
       handleAccumuloException(e);
@@ -322,7 +321,7 @@
       throw ex;
     } catch (AccumuloException e) {
       Throwable cause = e.getCause();
-      if (null != cause && NamespaceNotFoundException.class.equals(cause.getClass())) {
+      if (cause != null && NamespaceNotFoundException.class.equals(cause.getClass())) {
         throw new org.apache.accumulo.proxy.thrift.NamespaceNotFoundException(cause.toString());
       }
       handleAccumuloException(e);
@@ -405,11 +404,8 @@
           .setIterators(getIteratorSettings(iterators)).setFlush(flush).setWait(wait);
 
       if (compactionStrategy != null) {
-        // @formatter:off
-        org.apache.accumulo.core.client.admin.CompactionStrategyConfig ccc =
-          new org.apache.accumulo.core.client.admin.CompactionStrategyConfig(
+        org.apache.accumulo.core.client.admin.CompactionStrategyConfig ccc = new org.apache.accumulo.core.client.admin.CompactionStrategyConfig(
             compactionStrategy.getClassName());
-        // @formatter:on
         if (compactionStrategy.options != null)
           ccc.setOptions(compactionStrategy.options);
         compactionConfig.setCompactionStrategy(ccc);
@@ -802,10 +798,7 @@
       List<ActiveScan> activeScans = getConnector(login).instanceOperations()
           .getActiveScans(tserver);
       for (ActiveScan scan : activeScans) {
-        // @formatter:off
-        org.apache.accumulo.proxy.thrift.ActiveScan pscan =
-          new org.apache.accumulo.proxy.thrift.ActiveScan();
-        // @formatter:on
+        org.apache.accumulo.proxy.thrift.ActiveScan pscan = new org.apache.accumulo.proxy.thrift.ActiveScan();
         pscan.client = scan.getClient();
         pscan.user = scan.getUser();
         pscan.table = scan.getTable();
@@ -819,10 +812,7 @@
         pscan.columns = new ArrayList<>();
         if (scan.getColumns() != null) {
           for (Column c : scan.getColumns()) {
-            // @formatter:off
-            org.apache.accumulo.proxy.thrift.Column column =
-              new org.apache.accumulo.proxy.thrift.Column();
-            // @formatter:on
+            org.apache.accumulo.proxy.thrift.Column column = new org.apache.accumulo.proxy.thrift.Column();
             column.setColFamily(c.getColumnFamily());
             column.setColQualifier(c.getColumnQualifier());
             column.setColVisibility(c.getColumnVisibility());
@@ -836,11 +826,8 @@
             String name = parts[0];
             int priority = Integer.parseInt(parts[1]);
             String classname = parts[2];
-            // @formatter:off
-            org.apache.accumulo.proxy.thrift.IteratorSetting settings =
-              new org.apache.accumulo.proxy.thrift.IteratorSetting(
+            org.apache.accumulo.proxy.thrift.IteratorSetting settings = new org.apache.accumulo.proxy.thrift.IteratorSetting(
                 priority, name, classname, scan.getSsio().get(name));
-            // @formatter:on
             pscan.iterators.add(settings);
           }
         }
@@ -869,10 +856,7 @@
       List<ActiveCompaction> active = getConnector(login).instanceOperations()
           .getActiveCompactions(tserver);
       for (ActiveCompaction comp : active) {
-        // @formatter:off
-        org.apache.accumulo.proxy.thrift.ActiveCompaction pcomp =
-          new org.apache.accumulo.proxy.thrift.ActiveCompaction();
-        // @formatter:on
+        org.apache.accumulo.proxy.thrift.ActiveCompaction pcomp = new org.apache.accumulo.proxy.thrift.ActiveCompaction();
         pcomp.age = comp.getAge();
         pcomp.entriesRead = comp.getEntriesRead();
         pcomp.entriesWritten = comp.getEntriesWritten();
@@ -891,12 +875,9 @@
         pcomp.iterators = new ArrayList<>();
         if (comp.getIterators() != null) {
           for (IteratorSetting setting : comp.getIterators()) {
-            // @formatter:off
-            org.apache.accumulo.proxy.thrift.IteratorSetting psetting =
-              new org.apache.accumulo.proxy.thrift.IteratorSetting(
+            org.apache.accumulo.proxy.thrift.IteratorSetting psetting = new org.apache.accumulo.proxy.thrift.IteratorSetting(
                 setting.getPriority(), setting.getName(), setting.getIteratorClass(),
                 setting.getOptions());
-            // @formatter:on
             pcomp.iterators.add(psetting);
           }
         }
@@ -1383,7 +1364,7 @@
     } catch (Exception e) {
       handleExceptionMRE(e);
     } finally {
-      if (null != bwpe) {
+      if (bwpe != null) {
         try {
           bwpe.writer.close();
         } catch (MutationsRejectedException e) {
@@ -1766,13 +1747,9 @@
       org.apache.accumulo.proxy.thrift.AccumuloException,
       org.apache.accumulo.proxy.thrift.AccumuloSecurityException, TException {
     try {
-      ImportMappingOptions loader = getConnector(login).tableOperations().importDirectory(importDir)
-          .to(tableName);
-      if (setTime) {
-        loader.tableTime().load();
-      } else {
-        loader.load();
-      }
+      getConnector(login).tableOperations().importDirectory(importDir).to(tableName)
+          .tableTime(setTime).load();
+
     } catch (Exception e) {
       handleExceptionTNF(e);
     }
@@ -1794,12 +1771,12 @@
 
   @Override
   public String systemNamespace() throws TException {
-    return Namespace.ACCUMULO;
+    return Namespace.ACCUMULO.name();
   }
 
   @Override
   public String defaultNamespace() throws TException {
-    return Namespace.DEFAULT;
+    return Namespace.DEFAULT.name();
   }
 
   @Override
@@ -1936,7 +1913,7 @@
       org.apache.accumulo.proxy.thrift.AccumuloSecurityException,
       org.apache.accumulo.proxy.thrift.NamespaceNotFoundException, TException {
     try {
-      if (null != scopes && scopes.size() > 0) {
+      if (scopes != null && scopes.size() > 0) {
         getConnector(login).namespaceOperations().attachIterator(namespaceName,
             getIteratorSetting(setting), getIteratorScopes(scopes));
       } else {
@@ -2081,9 +2058,9 @@
   @Override
   public ByteBuffer login(String principal, Map<String,String> loginProperties)
       throws org.apache.accumulo.proxy.thrift.AccumuloSecurityException, TException {
-    if (ThriftServerType.SASL == serverType) {
+    if (serverType == ThriftServerType.SASL) {
       String remoteUser = UGIAssumingProcessor.rpcPrincipal();
-      if (null == remoteUser || !remoteUser.equals(principal)) {
+      if (remoteUser == null || !remoteUser.equals(principal)) {
         logger.error("Denying login from user {} who attempted to log in as {}", remoteUser,
             principal);
         throw new org.apache.accumulo.proxy.thrift.AccumuloSecurityException(
@@ -2188,11 +2165,8 @@
         ConditionalMutation cmut = new ConditionalMutation(ByteBufferUtil.toBytes(cu.getKey()));
 
         for (Condition tcond : cu.getValue().conditions) {
-          // @formatter:off
-          org.apache.accumulo.core.data.Condition cond =
-            new org.apache.accumulo.core.data.Condition(
+          org.apache.accumulo.core.data.Condition cond = new org.apache.accumulo.core.data.Condition(
               tcond.column.getColFamily(), tcond.column.getColQualifier());
-          // @formatter:on
 
           if (tcond.getColumn().getColVisibility() != null
               && tcond.getColumn().getColVisibility().length > 0) {
@@ -2231,7 +2205,7 @@
 
       return resultMap;
     } catch (RuntimeException e) {
-      throw e;
+      throw (e);
     } catch (Exception e) {
       handleException(e);
       return null;
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloException.java b/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloException.java
index 997dc6d..595ad42 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class AccumuloException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AccumuloException, AccumuloException._Fields>, java.io.Serializable, Cloneable, Comparable<AccumuloException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AccumuloException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AccumuloExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AccumuloExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public AccumuloException setMsg(java.lang.String msg) {
+  public AccumuloException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java b/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
index 23b5b9a..e8b5a63 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloProxy.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class AccumuloProxy {
 
   public interface Iface {
@@ -7375,8 +7374,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public login_result getResult(I iface, login_args args) throws org.apache.thrift.TException {
@@ -7404,8 +7403,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public addConstraint_result getResult(I iface, addConstraint_args args) throws org.apache.thrift.TException {
@@ -7438,8 +7437,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public addSplits_result getResult(I iface, addSplits_args args) throws org.apache.thrift.TException {
@@ -7471,8 +7470,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public attachIterator_result getResult(I iface, attachIterator_args args) throws org.apache.thrift.TException {
@@ -7504,8 +7503,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public checkIteratorConflicts_result getResult(I iface, checkIteratorConflicts_args args) throws org.apache.thrift.TException {
@@ -7537,8 +7536,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public clearLocatorCache_result getResult(I iface, clearLocatorCache_args args) throws org.apache.thrift.TException {
@@ -7566,8 +7565,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public cloneTable_result getResult(I iface, cloneTable_args args) throws org.apache.thrift.TException {
@@ -7601,8 +7600,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public compactTable_result getResult(I iface, compactTable_args args) throws org.apache.thrift.TException {
@@ -7634,8 +7633,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public cancelCompaction_result getResult(I iface, cancelCompaction_args args) throws org.apache.thrift.TException {
@@ -7667,8 +7666,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createTable_result getResult(I iface, createTable_args args) throws org.apache.thrift.TException {
@@ -7700,8 +7699,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public deleteTable_result getResult(I iface, deleteTable_args args) throws org.apache.thrift.TException {
@@ -7733,8 +7732,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public deleteRows_result getResult(I iface, deleteRows_args args) throws org.apache.thrift.TException {
@@ -7766,8 +7765,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public exportTable_result getResult(I iface, exportTable_args args) throws org.apache.thrift.TException {
@@ -7799,8 +7798,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public flushTable_result getResult(I iface, flushTable_args args) throws org.apache.thrift.TException {
@@ -7832,8 +7831,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getDiskUsage_result getResult(I iface, getDiskUsage_args args) throws org.apache.thrift.TException {
@@ -7865,8 +7864,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getLocalityGroups_result getResult(I iface, getLocalityGroups_args args) throws org.apache.thrift.TException {
@@ -7898,8 +7897,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getIteratorSetting_result getResult(I iface, getIteratorSetting_args args) throws org.apache.thrift.TException {
@@ -7931,8 +7930,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getMaxRow_result getResult(I iface, getMaxRow_args args) throws org.apache.thrift.TException {
@@ -7964,8 +7963,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getTableProperties_result getResult(I iface, getTableProperties_args args) throws org.apache.thrift.TException {
@@ -7997,8 +7996,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public importDirectory_result getResult(I iface, importDirectory_args args) throws org.apache.thrift.TException {
@@ -8030,8 +8029,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public importTable_result getResult(I iface, importTable_args args) throws org.apache.thrift.TException {
@@ -8063,8 +8062,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listSplits_result getResult(I iface, listSplits_args args) throws org.apache.thrift.TException {
@@ -8096,8 +8095,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listTables_result getResult(I iface, listTables_args args) throws org.apache.thrift.TException {
@@ -8121,8 +8120,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listIterators_result getResult(I iface, listIterators_args args) throws org.apache.thrift.TException {
@@ -8154,8 +8153,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listConstraints_result getResult(I iface, listConstraints_args args) throws org.apache.thrift.TException {
@@ -8187,8 +8186,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public mergeTablets_result getResult(I iface, mergeTablets_args args) throws org.apache.thrift.TException {
@@ -8220,8 +8219,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public offlineTable_result getResult(I iface, offlineTable_args args) throws org.apache.thrift.TException {
@@ -8253,8 +8252,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public onlineTable_result getResult(I iface, onlineTable_args args) throws org.apache.thrift.TException {
@@ -8286,8 +8285,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeConstraint_result getResult(I iface, removeConstraint_args args) throws org.apache.thrift.TException {
@@ -8319,8 +8318,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeIterator_result getResult(I iface, removeIterator_args args) throws org.apache.thrift.TException {
@@ -8352,8 +8351,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeTableProperty_result getResult(I iface, removeTableProperty_args args) throws org.apache.thrift.TException {
@@ -8385,8 +8384,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public renameTable_result getResult(I iface, renameTable_args args) throws org.apache.thrift.TException {
@@ -8420,8 +8419,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public setLocalityGroups_result getResult(I iface, setLocalityGroups_args args) throws org.apache.thrift.TException {
@@ -8453,8 +8452,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public setTableProperty_result getResult(I iface, setTableProperty_args args) throws org.apache.thrift.TException {
@@ -8486,8 +8485,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public splitRangeByTablets_result getResult(I iface, splitRangeByTablets_args args) throws org.apache.thrift.TException {
@@ -8519,8 +8518,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public tableExists_result getResult(I iface, tableExists_args args) throws org.apache.thrift.TException {
@@ -8545,8 +8544,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public tableIdMap_result getResult(I iface, tableIdMap_args args) throws org.apache.thrift.TException {
@@ -8570,8 +8569,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public testTableClassLoad_result getResult(I iface, testTableClassLoad_args args) throws org.apache.thrift.TException {
@@ -8604,8 +8603,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public pingTabletServer_result getResult(I iface, pingTabletServer_args args) throws org.apache.thrift.TException {
@@ -8635,8 +8634,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getActiveScans_result getResult(I iface, getActiveScans_args args) throws org.apache.thrift.TException {
@@ -8666,8 +8665,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getActiveCompactions_result getResult(I iface, getActiveCompactions_args args) throws org.apache.thrift.TException {
@@ -8697,8 +8696,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getSiteConfiguration_result getResult(I iface, getSiteConfiguration_args args) throws org.apache.thrift.TException {
@@ -8728,8 +8727,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getSystemConfiguration_result getResult(I iface, getSystemConfiguration_args args) throws org.apache.thrift.TException {
@@ -8759,8 +8758,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getTabletServers_result getResult(I iface, getTabletServers_args args) throws org.apache.thrift.TException {
@@ -8784,8 +8783,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeProperty_result getResult(I iface, removeProperty_args args) throws org.apache.thrift.TException {
@@ -8815,8 +8814,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public setProperty_result getResult(I iface, setProperty_args args) throws org.apache.thrift.TException {
@@ -8846,8 +8845,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public testClassLoad_result getResult(I iface, testClassLoad_args args) throws org.apache.thrift.TException {
@@ -8878,8 +8877,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public authenticateUser_result getResult(I iface, authenticateUser_args args) throws org.apache.thrift.TException {
@@ -8910,8 +8909,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public changeUserAuthorizations_result getResult(I iface, changeUserAuthorizations_args args) throws org.apache.thrift.TException {
@@ -8941,8 +8940,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public changeLocalUserPassword_result getResult(I iface, changeLocalUserPassword_args args) throws org.apache.thrift.TException {
@@ -8972,8 +8971,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createLocalUser_result getResult(I iface, createLocalUser_args args) throws org.apache.thrift.TException {
@@ -9003,8 +9002,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public dropLocalUser_result getResult(I iface, dropLocalUser_args args) throws org.apache.thrift.TException {
@@ -9034,8 +9033,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getUserAuthorizations_result getResult(I iface, getUserAuthorizations_args args) throws org.apache.thrift.TException {
@@ -9065,8 +9064,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public grantSystemPermission_result getResult(I iface, grantSystemPermission_args args) throws org.apache.thrift.TException {
@@ -9096,8 +9095,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public grantTablePermission_result getResult(I iface, grantTablePermission_args args) throws org.apache.thrift.TException {
@@ -9129,8 +9128,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public hasSystemPermission_result getResult(I iface, hasSystemPermission_args args) throws org.apache.thrift.TException {
@@ -9161,8 +9160,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public hasTablePermission_result getResult(I iface, hasTablePermission_args args) throws org.apache.thrift.TException {
@@ -9195,8 +9194,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listLocalUsers_result getResult(I iface, listLocalUsers_args args) throws org.apache.thrift.TException {
@@ -9228,8 +9227,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public revokeSystemPermission_result getResult(I iface, revokeSystemPermission_args args) throws org.apache.thrift.TException {
@@ -9259,8 +9258,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public revokeTablePermission_result getResult(I iface, revokeTablePermission_args args) throws org.apache.thrift.TException {
@@ -9292,8 +9291,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public grantNamespacePermission_result getResult(I iface, grantNamespacePermission_args args) throws org.apache.thrift.TException {
@@ -9323,8 +9322,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public hasNamespacePermission_result getResult(I iface, hasNamespacePermission_args args) throws org.apache.thrift.TException {
@@ -9355,8 +9354,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public revokeNamespacePermission_result getResult(I iface, revokeNamespacePermission_args args) throws org.apache.thrift.TException {
@@ -9386,8 +9385,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createBatchScanner_result getResult(I iface, createBatchScanner_args args) throws org.apache.thrift.TException {
@@ -9419,8 +9418,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createScanner_result getResult(I iface, createScanner_args args) throws org.apache.thrift.TException {
@@ -9452,8 +9451,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public hasNext_result getResult(I iface, hasNext_args args) throws org.apache.thrift.TException {
@@ -9482,8 +9481,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public nextEntry_result getResult(I iface, nextEntry_args args) throws org.apache.thrift.TException {
@@ -9515,8 +9514,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public nextK_result getResult(I iface, nextK_args args) throws org.apache.thrift.TException {
@@ -9548,8 +9547,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public closeScanner_result getResult(I iface, closeScanner_args args) throws org.apache.thrift.TException {
@@ -9577,8 +9576,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public updateAndFlush_result getResult(I iface, updateAndFlush_args args) throws org.apache.thrift.TException {
@@ -9612,8 +9611,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createWriter_result getResult(I iface, createWriter_args args) throws org.apache.thrift.TException {
@@ -9645,8 +9644,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public org.apache.thrift.TBase getResult(I iface, update_args args) throws org.apache.thrift.TException {
@@ -9669,8 +9668,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public flush_result getResult(I iface, flush_args args) throws org.apache.thrift.TException {
@@ -9700,8 +9699,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public closeWriter_result getResult(I iface, closeWriter_args args) throws org.apache.thrift.TException {
@@ -9731,8 +9730,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public updateRowConditionally_result getResult(I iface, updateRowConditionally_args args) throws org.apache.thrift.TException {
@@ -9764,8 +9763,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createConditionalWriter_result getResult(I iface, createConditionalWriter_args args) throws org.apache.thrift.TException {
@@ -9797,8 +9796,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public updateRowsConditionally_result getResult(I iface, updateRowsConditionally_args args) throws org.apache.thrift.TException {
@@ -9830,8 +9829,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public closeConditionalWriter_result getResult(I iface, closeConditionalWriter_args args) throws org.apache.thrift.TException {
@@ -9855,8 +9854,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getRowRange_result getResult(I iface, getRowRange_args args) throws org.apache.thrift.TException {
@@ -9880,8 +9879,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getFollowing_result getResult(I iface, getFollowing_args args) throws org.apache.thrift.TException {
@@ -9905,8 +9904,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public systemNamespace_result getResult(I iface, systemNamespace_args args) throws org.apache.thrift.TException {
@@ -9930,8 +9929,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public defaultNamespace_result getResult(I iface, defaultNamespace_args args) throws org.apache.thrift.TException {
@@ -9955,8 +9954,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listNamespaces_result getResult(I iface, listNamespaces_args args) throws org.apache.thrift.TException {
@@ -9986,8 +9985,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public namespaceExists_result getResult(I iface, namespaceExists_args args) throws org.apache.thrift.TException {
@@ -10018,8 +10017,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public createNamespace_result getResult(I iface, createNamespace_args args) throws org.apache.thrift.TException {
@@ -10051,8 +10050,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public deleteNamespace_result getResult(I iface, deleteNamespace_args args) throws org.apache.thrift.TException {
@@ -10086,8 +10085,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public renameNamespace_result getResult(I iface, renameNamespace_args args) throws org.apache.thrift.TException {
@@ -10121,8 +10120,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public setNamespaceProperty_result getResult(I iface, setNamespaceProperty_args args) throws org.apache.thrift.TException {
@@ -10154,8 +10153,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeNamespaceProperty_result getResult(I iface, removeNamespaceProperty_args args) throws org.apache.thrift.TException {
@@ -10187,8 +10186,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getNamespaceProperties_result getResult(I iface, getNamespaceProperties_args args) throws org.apache.thrift.TException {
@@ -10220,8 +10219,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public namespaceIdMap_result getResult(I iface, namespaceIdMap_args args) throws org.apache.thrift.TException {
@@ -10251,8 +10250,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public attachNamespaceIterator_result getResult(I iface, attachNamespaceIterator_args args) throws org.apache.thrift.TException {
@@ -10284,8 +10283,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeNamespaceIterator_result getResult(I iface, removeNamespaceIterator_args args) throws org.apache.thrift.TException {
@@ -10317,8 +10316,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public getNamespaceIteratorSetting_result getResult(I iface, getNamespaceIteratorSetting_args args) throws org.apache.thrift.TException {
@@ -10350,8 +10349,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listNamespaceIterators_result getResult(I iface, listNamespaceIterators_args args) throws org.apache.thrift.TException {
@@ -10383,8 +10382,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public checkNamespaceIteratorConflicts_result getResult(I iface, checkNamespaceIteratorConflicts_args args) throws org.apache.thrift.TException {
@@ -10416,8 +10415,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public addNamespaceConstraint_result getResult(I iface, addNamespaceConstraint_args args) throws org.apache.thrift.TException {
@@ -10450,8 +10449,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public removeNamespaceConstraint_result getResult(I iface, removeNamespaceConstraint_args args) throws org.apache.thrift.TException {
@@ -10483,8 +10482,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public listNamespaceConstraints_result getResult(I iface, listNamespaceConstraints_args args) throws org.apache.thrift.TException {
@@ -10516,8 +10515,8 @@
       }
 
       @Override
-      protected boolean handleRuntimeExceptions() {
-        return true;
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
       }
 
       public testNamespaceClassLoad_result getResult(I iface, testNamespaceClassLoad_args args) throws org.apache.thrift.TException {
@@ -17666,8 +17665,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new login_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new login_argsTupleSchemeFactory();
 
-    public java.lang.String principal; // required
-    public java.util.Map<java.lang.String,java.lang.String> loginProperties; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String principal; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> loginProperties; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -17685,6 +17684,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRINCIPAL
@@ -17709,6 +17709,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17779,11 +17780,12 @@
       this.loginProperties = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPrincipal() {
       return this.principal;
     }
 
-    public login_args setPrincipal(java.lang.String principal) {
+    public login_args setPrincipal(@org.apache.thrift.annotation.Nullable java.lang.String principal) {
       this.principal = principal;
       return this;
     }
@@ -17814,11 +17816,12 @@
       this.loginProperties.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getLoginProperties() {
       return this.loginProperties;
     }
 
-    public login_args setLoginProperties(java.util.Map<java.lang.String,java.lang.String> loginProperties) {
+    public login_args setLoginProperties(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> loginProperties) {
       this.loginProperties = loginProperties;
       return this;
     }
@@ -17838,7 +17841,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRINCIPAL:
         if (value == null) {
@@ -17859,6 +17862,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRINCIPAL:
@@ -17968,6 +17972,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -18056,8 +18061,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map164 = iprot.readMapBegin();
                   struct.loginProperties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map164.size);
-                  java.lang.String _key165;
-                  java.lang.String _val166;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key165;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val166;
                   for (int _i167 = 0; _i167 < _map164.size; ++_i167)
                   {
                     _key165 = iprot.readString();
@@ -18156,8 +18161,8 @@
           {
             org.apache.thrift.protocol.TMap _map170 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.loginProperties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map170.size);
-            java.lang.String _key171;
-            java.lang.String _val172;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key171;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val172;
             for (int _i173 = 0; _i173 < _map170.size; ++_i173)
             {
               _key171 = iprot.readString();
@@ -18184,8 +18189,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new login_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new login_resultTupleSchemeFactory();
 
-    public java.nio.ByteBuffer success; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -18203,6 +18208,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -18227,6 +18233,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -18304,11 +18311,11 @@
     }
 
     public login_result setSuccess(byte[] success) {
-      this.success = success == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(success.clone());
+      this.success = success == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(success.clone());
       return this;
     }
 
-    public login_result setSuccess(java.nio.ByteBuffer success) {
+    public login_result setSuccess(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer success) {
       this.success = org.apache.thrift.TBaseHelper.copyBinary(success);
       return this;
     }
@@ -18328,11 +18335,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public login_result setOuch2(AccumuloSecurityException ouch2) {
+    public login_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -18352,7 +18360,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -18377,6 +18385,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -18486,6 +18495,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -18667,9 +18677,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addConstraint_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addConstraint_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String constraintClassName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String constraintClassName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -18688,6 +18698,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -18714,6 +18725,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -18799,11 +18811,11 @@
     }
 
     public addConstraint_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public addConstraint_args setLogin(java.nio.ByteBuffer login) {
+    public addConstraint_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -18823,11 +18835,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public addConstraint_args setTableName(java.lang.String tableName) {
+    public addConstraint_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -18847,11 +18860,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getConstraintClassName() {
       return this.constraintClassName;
     }
 
-    public addConstraint_args setConstraintClassName(java.lang.String constraintClassName) {
+    public addConstraint_args setConstraintClassName(@org.apache.thrift.annotation.Nullable java.lang.String constraintClassName) {
       this.constraintClassName = constraintClassName;
       return this;
     }
@@ -18871,7 +18885,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -18904,6 +18918,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -19041,6 +19056,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -19253,9 +19269,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addConstraint_resultTupleSchemeFactory();
 
     public int success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -19275,6 +19291,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -19303,6 +19320,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -19412,11 +19430,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public addConstraint_result setOuch1(AccumuloException ouch1) {
+    public addConstraint_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -19436,11 +19455,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public addConstraint_result setOuch2(AccumuloSecurityException ouch2) {
+    public addConstraint_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -19460,11 +19480,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public addConstraint_result setOuch3(TableNotFoundException ouch3) {
+    public addConstraint_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -19484,7 +19505,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -19521,6 +19542,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -19684,6 +19706,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -19929,9 +19952,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSplits_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSplits_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.util.Set<java.nio.ByteBuffer> splits; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> splits; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -19950,6 +19973,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -19976,6 +20000,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -20063,11 +20088,11 @@
     }
 
     public addSplits_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public addSplits_args setLogin(java.nio.ByteBuffer login) {
+    public addSplits_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -20087,11 +20112,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public addSplits_args setTableName(java.lang.String tableName) {
+    public addSplits_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -20115,6 +20141,7 @@
       return (this.splits == null) ? 0 : this.splits.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.nio.ByteBuffer> getSplitsIterator() {
       return (this.splits == null) ? null : this.splits.iterator();
     }
@@ -20126,11 +20153,12 @@
       this.splits.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.nio.ByteBuffer> getSplits() {
       return this.splits;
     }
 
-    public addSplits_args setSplits(java.util.Set<java.nio.ByteBuffer> splits) {
+    public addSplits_args setSplits(@org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> splits) {
       this.splits = splits;
       return this;
     }
@@ -20150,7 +20178,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -20183,6 +20211,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -20320,6 +20349,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -20424,7 +20454,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set174 = iprot.readSetBegin();
                   struct.splits = new java.util.HashSet<java.nio.ByteBuffer>(2*_set174.size);
-                  java.nio.ByteBuffer _elem175;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem175;
                   for (int _i176 = 0; _i176 < _set174.size; ++_i176)
                   {
                     _elem175 = iprot.readBinary();
@@ -20535,7 +20565,7 @@
           {
             org.apache.thrift.protocol.TSet _set179 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.splits = new java.util.HashSet<java.nio.ByteBuffer>(2*_set179.size);
-            java.nio.ByteBuffer _elem180;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem180;
             for (int _i181 = 0; _i181 < _set179.size; ++_i181)
             {
               _elem180 = iprot.readBinary();
@@ -20562,9 +20592,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSplits_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSplits_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -20583,6 +20613,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -20609,6 +20640,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -20684,11 +20716,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public addSplits_result setOuch1(AccumuloException ouch1) {
+    public addSplits_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -20708,11 +20741,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public addSplits_result setOuch2(AccumuloSecurityException ouch2) {
+    public addSplits_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -20732,11 +20766,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public addSplits_result setOuch3(TableNotFoundException ouch3) {
+    public addSplits_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -20756,7 +20791,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -20785,6 +20820,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -20922,6 +20958,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -21139,10 +21176,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new attachIterator_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new attachIterator_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public IteratorSetting setting; // required
-    public java.util.Set<IteratorScope> scopes; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable IteratorSetting setting; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -21162,6 +21199,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -21190,6 +21228,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -21288,11 +21327,11 @@
     }
 
     public attachIterator_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public attachIterator_args setLogin(java.nio.ByteBuffer login) {
+    public attachIterator_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -21312,11 +21351,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public attachIterator_args setTableName(java.lang.String tableName) {
+    public attachIterator_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -21336,11 +21376,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IteratorSetting getSetting() {
       return this.setting;
     }
 
-    public attachIterator_args setSetting(IteratorSetting setting) {
+    public attachIterator_args setSetting(@org.apache.thrift.annotation.Nullable IteratorSetting setting) {
       this.setting = setting;
       return this;
     }
@@ -21364,6 +21405,7 @@
       return (this.scopes == null) ? 0 : this.scopes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorScope> getScopesIterator() {
       return (this.scopes == null) ? null : this.scopes.iterator();
     }
@@ -21375,11 +21417,12 @@
       this.scopes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<IteratorScope> getScopes() {
       return this.scopes;
     }
 
-    public attachIterator_args setScopes(java.util.Set<IteratorScope> scopes) {
+    public attachIterator_args setScopes(@org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes) {
       this.scopes = scopes;
       return this;
     }
@@ -21399,7 +21442,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -21440,6 +21483,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -21605,6 +21649,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -21729,7 +21774,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set182 = iprot.readSetBegin();
                   struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-                  IteratorScope _elem183;
+                  @org.apache.thrift.annotation.Nullable IteratorScope _elem183;
                   for (int _i184 = 0; _i184 < _set182.size; ++_i184)
                   {
                     _elem183 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -21859,7 +21904,7 @@
           {
             org.apache.thrift.protocol.TSet _set187 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-            IteratorScope _elem188;
+            @org.apache.thrift.annotation.Nullable IteratorScope _elem188;
             for (int _i189 = 0; _i189 < _set187.size; ++_i189)
             {
               _elem188 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -21889,9 +21934,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new attachIterator_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new attachIterator_resultTupleSchemeFactory();
 
-    public AccumuloSecurityException ouch1; // required
-    public AccumuloException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -21910,6 +21955,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -21936,6 +21982,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -22011,11 +22058,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch1() {
       return this.ouch1;
     }
 
-    public attachIterator_result setOuch1(AccumuloSecurityException ouch1) {
+    public attachIterator_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -22035,11 +22083,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch2() {
       return this.ouch2;
     }
 
-    public attachIterator_result setOuch2(AccumuloException ouch2) {
+    public attachIterator_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -22059,11 +22108,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public attachIterator_result setOuch3(TableNotFoundException ouch3) {
+    public attachIterator_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -22083,7 +22133,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -22112,6 +22162,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -22249,6 +22300,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -22466,10 +22518,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new checkIteratorConflicts_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new checkIteratorConflicts_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public IteratorSetting setting; // required
-    public java.util.Set<IteratorScope> scopes; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable IteratorSetting setting; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -22489,6 +22541,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -22517,6 +22570,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -22615,11 +22669,11 @@
     }
 
     public checkIteratorConflicts_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public checkIteratorConflicts_args setLogin(java.nio.ByteBuffer login) {
+    public checkIteratorConflicts_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -22639,11 +22693,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public checkIteratorConflicts_args setTableName(java.lang.String tableName) {
+    public checkIteratorConflicts_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -22663,11 +22718,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IteratorSetting getSetting() {
       return this.setting;
     }
 
-    public checkIteratorConflicts_args setSetting(IteratorSetting setting) {
+    public checkIteratorConflicts_args setSetting(@org.apache.thrift.annotation.Nullable IteratorSetting setting) {
       this.setting = setting;
       return this;
     }
@@ -22691,6 +22747,7 @@
       return (this.scopes == null) ? 0 : this.scopes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorScope> getScopesIterator() {
       return (this.scopes == null) ? null : this.scopes.iterator();
     }
@@ -22702,11 +22759,12 @@
       this.scopes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<IteratorScope> getScopes() {
       return this.scopes;
     }
 
-    public checkIteratorConflicts_args setScopes(java.util.Set<IteratorScope> scopes) {
+    public checkIteratorConflicts_args setScopes(@org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes) {
       this.scopes = scopes;
       return this;
     }
@@ -22726,7 +22784,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -22767,6 +22825,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -22932,6 +22991,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -23056,7 +23116,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set190 = iprot.readSetBegin();
                   struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-                  IteratorScope _elem191;
+                  @org.apache.thrift.annotation.Nullable IteratorScope _elem191;
                   for (int _i192 = 0; _i192 < _set190.size; ++_i192)
                   {
                     _elem191 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -23186,7 +23246,7 @@
           {
             org.apache.thrift.protocol.TSet _set195 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-            IteratorScope _elem196;
+            @org.apache.thrift.annotation.Nullable IteratorScope _elem196;
             for (int _i197 = 0; _i197 < _set195.size; ++_i197)
             {
               _elem196 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -23216,9 +23276,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new checkIteratorConflicts_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new checkIteratorConflicts_resultTupleSchemeFactory();
 
-    public AccumuloSecurityException ouch1; // required
-    public AccumuloException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -23237,6 +23297,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -23263,6 +23324,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -23338,11 +23400,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch1() {
       return this.ouch1;
     }
 
-    public checkIteratorConflicts_result setOuch1(AccumuloSecurityException ouch1) {
+    public checkIteratorConflicts_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -23362,11 +23425,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch2() {
       return this.ouch2;
     }
 
-    public checkIteratorConflicts_result setOuch2(AccumuloException ouch2) {
+    public checkIteratorConflicts_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -23386,11 +23450,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public checkIteratorConflicts_result setOuch3(TableNotFoundException ouch3) {
+    public checkIteratorConflicts_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -23410,7 +23475,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -23439,6 +23504,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -23576,6 +23642,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -23791,8 +23858,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new clearLocatorCache_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new clearLocatorCache_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -23810,6 +23877,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -23834,6 +23902,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -23911,11 +23980,11 @@
     }
 
     public clearLocatorCache_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public clearLocatorCache_args setLogin(java.nio.ByteBuffer login) {
+    public clearLocatorCache_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -23935,11 +24004,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public clearLocatorCache_args setTableName(java.lang.String tableName) {
+    public clearLocatorCache_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -23959,7 +24029,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -23984,6 +24054,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -24093,6 +24164,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -24270,7 +24342,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new clearLocatorCache_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new clearLocatorCache_resultTupleSchemeFactory();
 
-    public TableNotFoundException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -24287,6 +24359,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -24309,6 +24382,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -24368,11 +24442,12 @@
       this.ouch1 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch1() {
       return this.ouch1;
     }
 
-    public clearLocatorCache_result setOuch1(TableNotFoundException ouch1) {
+    public clearLocatorCache_result setOuch1(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -24392,7 +24467,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -24405,6 +24480,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -24486,6 +24562,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -24639,12 +24716,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String newTableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newTableName; // required
     public boolean flush; // required
-    public java.util.Map<java.lang.String,java.lang.String> propertiesToSet; // required
-    public java.util.Set<java.lang.String> propertiesToExclude; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> propertiesToSet; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> propertiesToExclude; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -24666,6 +24743,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -24698,6 +24776,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -24815,11 +24894,11 @@
     }
 
     public cloneTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public cloneTable_args setLogin(java.nio.ByteBuffer login) {
+    public cloneTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -24839,11 +24918,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public cloneTable_args setTableName(java.lang.String tableName) {
+    public cloneTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -24863,11 +24943,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewTableName() {
       return this.newTableName;
     }
 
-    public cloneTable_args setNewTableName(java.lang.String newTableName) {
+    public cloneTable_args setNewTableName(@org.apache.thrift.annotation.Nullable java.lang.String newTableName) {
       this.newTableName = newTableName;
       return this;
     }
@@ -24921,11 +25002,12 @@
       this.propertiesToSet.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getPropertiesToSet() {
       return this.propertiesToSet;
     }
 
-    public cloneTable_args setPropertiesToSet(java.util.Map<java.lang.String,java.lang.String> propertiesToSet) {
+    public cloneTable_args setPropertiesToSet(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> propertiesToSet) {
       this.propertiesToSet = propertiesToSet;
       return this;
     }
@@ -24949,6 +25031,7 @@
       return (this.propertiesToExclude == null) ? 0 : this.propertiesToExclude.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getPropertiesToExcludeIterator() {
       return (this.propertiesToExclude == null) ? null : this.propertiesToExclude.iterator();
     }
@@ -24960,11 +25043,12 @@
       this.propertiesToExclude.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.lang.String> getPropertiesToExclude() {
       return this.propertiesToExclude;
     }
 
-    public cloneTable_args setPropertiesToExclude(java.util.Set<java.lang.String> propertiesToExclude) {
+    public cloneTable_args setPropertiesToExclude(@org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> propertiesToExclude) {
       this.propertiesToExclude = propertiesToExclude;
       return this;
     }
@@ -24984,7 +25068,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -25041,6 +25125,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -25260,6 +25345,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -25402,8 +25488,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map198 = iprot.readMapBegin();
                   struct.propertiesToSet = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map198.size);
-                  java.lang.String _key199;
-                  java.lang.String _val200;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key199;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val200;
                   for (int _i201 = 0; _i201 < _map198.size; ++_i201)
                   {
                     _key199 = iprot.readString();
@@ -25422,7 +25508,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set202 = iprot.readSetBegin();
                   struct.propertiesToExclude = new java.util.HashSet<java.lang.String>(2*_set202.size);
-                  java.lang.String _elem203;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem203;
                   for (int _i204 = 0; _i204 < _set202.size; ++_i204)
                   {
                     _elem203 = iprot.readString();
@@ -25587,8 +25673,8 @@
           {
             org.apache.thrift.protocol.TMap _map209 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.propertiesToSet = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map209.size);
-            java.lang.String _key210;
-            java.lang.String _val211;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key210;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val211;
             for (int _i212 = 0; _i212 < _map209.size; ++_i212)
             {
               _key210 = iprot.readString();
@@ -25602,7 +25688,7 @@
           {
             org.apache.thrift.protocol.TSet _set213 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.propertiesToExclude = new java.util.HashSet<java.lang.String>(2*_set213.size);
-            java.lang.String _elem214;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem214;
             for (int _i215 = 0; _i215 < _set213.size; ++_i215)
             {
               _elem214 = iprot.readString();
@@ -25630,10 +25716,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
-    public TableExistsException ouch4; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable TableExistsException ouch4; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -25653,6 +25739,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -25681,6 +25768,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -25764,11 +25852,12 @@
       this.ouch4 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public cloneTable_result setOuch1(AccumuloException ouch1) {
+    public cloneTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -25788,11 +25877,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public cloneTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public cloneTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -25812,11 +25902,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public cloneTable_result setOuch3(TableNotFoundException ouch3) {
+    public cloneTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -25836,11 +25927,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableExistsException getOuch4() {
       return this.ouch4;
     }
 
-    public cloneTable_result setOuch4(TableExistsException ouch4) {
+    public cloneTable_result setOuch4(@org.apache.thrift.annotation.Nullable TableExistsException ouch4) {
       this.ouch4 = ouch4;
       return this;
     }
@@ -25860,7 +25952,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -25897,6 +25989,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -26062,6 +26155,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -26316,14 +26410,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new compactTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new compactTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.nio.ByteBuffer startRow; // required
-    public java.nio.ByteBuffer endRow; // required
-    public java.util.List<IteratorSetting> iterators; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators; // required
     public boolean flush; // required
     public boolean wait; // required
-    public CompactionStrategyConfig compactionStrategy; // required
+    public @org.apache.thrift.annotation.Nullable CompactionStrategyConfig compactionStrategy; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -26347,6 +26441,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -26383,6 +26478,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -26517,11 +26613,11 @@
     }
 
     public compactTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public compactTable_args setLogin(java.nio.ByteBuffer login) {
+    public compactTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -26541,11 +26637,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public compactTable_args setTableName(java.lang.String tableName) {
+    public compactTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -26575,11 +26672,11 @@
     }
 
     public compactTable_args setStartRow(byte[] startRow) {
-      this.startRow = startRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(startRow.clone());
+      this.startRow = startRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(startRow.clone());
       return this;
     }
 
-    public compactTable_args setStartRow(java.nio.ByteBuffer startRow) {
+    public compactTable_args setStartRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow) {
       this.startRow = org.apache.thrift.TBaseHelper.copyBinary(startRow);
       return this;
     }
@@ -26609,11 +26706,11 @@
     }
 
     public compactTable_args setEndRow(byte[] endRow) {
-      this.endRow = endRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(endRow.clone());
+      this.endRow = endRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(endRow.clone());
       return this;
     }
 
-    public compactTable_args setEndRow(java.nio.ByteBuffer endRow) {
+    public compactTable_args setEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow) {
       this.endRow = org.apache.thrift.TBaseHelper.copyBinary(endRow);
       return this;
     }
@@ -26637,6 +26734,7 @@
       return (this.iterators == null) ? 0 : this.iterators.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorSetting> getIteratorsIterator() {
       return (this.iterators == null) ? null : this.iterators.iterator();
     }
@@ -26648,11 +26746,12 @@
       this.iterators.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<IteratorSetting> getIterators() {
       return this.iterators;
     }
 
-    public compactTable_args setIterators(java.util.List<IteratorSetting> iterators) {
+    public compactTable_args setIterators(@org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators) {
       this.iterators = iterators;
       return this;
     }
@@ -26718,11 +26817,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __WAIT_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public CompactionStrategyConfig getCompactionStrategy() {
       return this.compactionStrategy;
     }
 
-    public compactTable_args setCompactionStrategy(CompactionStrategyConfig compactionStrategy) {
+    public compactTable_args setCompactionStrategy(@org.apache.thrift.annotation.Nullable CompactionStrategyConfig compactionStrategy) {
       this.compactionStrategy = compactionStrategy;
       return this;
     }
@@ -26742,7 +26842,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -26823,6 +26923,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -27096,6 +27197,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -27253,7 +27355,7 @@
                 {
                   org.apache.thrift.protocol.TList _list216 = iprot.readListBegin();
                   struct.iterators = new java.util.ArrayList<IteratorSetting>(_list216.size);
-                  IteratorSetting _elem217;
+                  @org.apache.thrift.annotation.Nullable IteratorSetting _elem217;
                   for (int _i218 = 0; _i218 < _list216.size; ++_i218)
                   {
                     _elem217 = new IteratorSetting();
@@ -27449,7 +27551,7 @@
           {
             org.apache.thrift.protocol.TList _list221 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
             struct.iterators = new java.util.ArrayList<IteratorSetting>(_list221.size);
-            IteratorSetting _elem222;
+            @org.apache.thrift.annotation.Nullable IteratorSetting _elem222;
             for (int _i223 = 0; _i223 < _list221.size; ++_i223)
             {
               _elem222 = new IteratorSetting();
@@ -27490,9 +27592,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new compactTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new compactTable_resultTupleSchemeFactory();
 
-    public AccumuloSecurityException ouch1; // required
-    public TableNotFoundException ouch2; // required
-    public AccumuloException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -27511,6 +27613,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -27537,6 +27640,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -27612,11 +27716,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch1() {
       return this.ouch1;
     }
 
-    public compactTable_result setOuch1(AccumuloSecurityException ouch1) {
+    public compactTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -27636,11 +27741,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch2() {
       return this.ouch2;
     }
 
-    public compactTable_result setOuch2(TableNotFoundException ouch2) {
+    public compactTable_result setOuch2(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -27660,11 +27766,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch3() {
       return this.ouch3;
     }
 
-    public compactTable_result setOuch3(AccumuloException ouch3) {
+    public compactTable_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -27684,7 +27791,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -27713,6 +27820,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -27850,6 +27958,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -28065,8 +28174,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cancelCompaction_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cancelCompaction_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -28084,6 +28193,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -28108,6 +28218,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -28185,11 +28296,11 @@
     }
 
     public cancelCompaction_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public cancelCompaction_args setLogin(java.nio.ByteBuffer login) {
+    public cancelCompaction_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -28209,11 +28320,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public cancelCompaction_args setTableName(java.lang.String tableName) {
+    public cancelCompaction_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -28233,7 +28345,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -28258,6 +28370,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -28367,6 +28480,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -28546,9 +28660,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cancelCompaction_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cancelCompaction_resultTupleSchemeFactory();
 
-    public AccumuloSecurityException ouch1; // required
-    public TableNotFoundException ouch2; // required
-    public AccumuloException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -28567,6 +28681,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -28593,6 +28708,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -28668,11 +28784,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch1() {
       return this.ouch1;
     }
 
-    public cancelCompaction_result setOuch1(AccumuloSecurityException ouch1) {
+    public cancelCompaction_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -28692,11 +28809,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch2() {
       return this.ouch2;
     }
 
-    public cancelCompaction_result setOuch2(TableNotFoundException ouch2) {
+    public cancelCompaction_result setOuch2(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -28716,11 +28834,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch3() {
       return this.ouch3;
     }
 
-    public cancelCompaction_result setOuch3(AccumuloException ouch3) {
+    public cancelCompaction_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -28740,7 +28859,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -28769,6 +28888,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -28906,6 +29026,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -29123,14 +29244,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
     public boolean versioningIter; // required
     /**
      * 
      * @see TimeType
      */
-    public TimeType type; // required
+    public @org.apache.thrift.annotation.Nullable TimeType type; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -29154,6 +29275,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -29182,6 +29304,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -29278,11 +29401,11 @@
     }
 
     public createTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createTable_args setLogin(java.nio.ByteBuffer login) {
+    public createTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -29302,11 +29425,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public createTable_args setTableName(java.lang.String tableName) {
+    public createTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -29353,6 +29477,7 @@
      * 
      * @see TimeType
      */
+    @org.apache.thrift.annotation.Nullable
     public TimeType getType() {
       return this.type;
     }
@@ -29361,7 +29486,7 @@
      * 
      * @see TimeType
      */
-    public createTable_args setType(TimeType type) {
+    public createTable_args setType(@org.apache.thrift.annotation.Nullable TimeType type) {
       this.type = type;
       return this;
     }
@@ -29381,7 +29506,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -29422,6 +29547,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -29585,6 +29711,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -29822,9 +29949,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableExistsException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableExistsException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -29843,6 +29970,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -29869,6 +29997,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -29944,11 +30073,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public createTable_result setOuch1(AccumuloException ouch1) {
+    public createTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -29968,11 +30098,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public createTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -29992,11 +30123,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableExistsException getOuch3() {
       return this.ouch3;
     }
 
-    public createTable_result setOuch3(TableExistsException ouch3) {
+    public createTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableExistsException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -30016,7 +30148,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -30045,6 +30177,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -30182,6 +30315,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -30397,8 +30531,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -30416,6 +30550,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -30440,6 +30575,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -30517,11 +30653,11 @@
     }
 
     public deleteTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public deleteTable_args setLogin(java.nio.ByteBuffer login) {
+    public deleteTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -30541,11 +30677,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public deleteTable_args setTableName(java.lang.String tableName) {
+    public deleteTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -30565,7 +30702,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -30590,6 +30727,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -30699,6 +30837,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -30878,9 +31017,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -30899,6 +31038,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -30925,6 +31065,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -31000,11 +31141,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public deleteTable_result setOuch1(AccumuloException ouch1) {
+    public deleteTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -31024,11 +31166,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public deleteTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public deleteTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -31048,11 +31191,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public deleteTable_result setOuch3(TableNotFoundException ouch3) {
+    public deleteTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -31072,7 +31216,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -31101,6 +31245,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -31238,6 +31383,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -31455,10 +31601,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteRows_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteRows_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.nio.ByteBuffer startRow; // required
-    public java.nio.ByteBuffer endRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -31478,6 +31624,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -31506,6 +31653,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -31599,11 +31747,11 @@
     }
 
     public deleteRows_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public deleteRows_args setLogin(java.nio.ByteBuffer login) {
+    public deleteRows_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -31623,11 +31771,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public deleteRows_args setTableName(java.lang.String tableName) {
+    public deleteRows_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -31657,11 +31806,11 @@
     }
 
     public deleteRows_args setStartRow(byte[] startRow) {
-      this.startRow = startRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(startRow.clone());
+      this.startRow = startRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(startRow.clone());
       return this;
     }
 
-    public deleteRows_args setStartRow(java.nio.ByteBuffer startRow) {
+    public deleteRows_args setStartRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow) {
       this.startRow = org.apache.thrift.TBaseHelper.copyBinary(startRow);
       return this;
     }
@@ -31691,11 +31840,11 @@
     }
 
     public deleteRows_args setEndRow(byte[] endRow) {
-      this.endRow = endRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(endRow.clone());
+      this.endRow = endRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(endRow.clone());
       return this;
     }
 
-    public deleteRows_args setEndRow(java.nio.ByteBuffer endRow) {
+    public deleteRows_args setEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow) {
       this.endRow = org.apache.thrift.TBaseHelper.copyBinary(endRow);
       return this;
     }
@@ -31715,7 +31864,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -31764,6 +31913,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -31929,6 +32079,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -32170,9 +32321,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteRows_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteRows_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -32191,6 +32342,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -32217,6 +32369,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -32292,11 +32445,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public deleteRows_result setOuch1(AccumuloException ouch1) {
+    public deleteRows_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -32316,11 +32470,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public deleteRows_result setOuch2(AccumuloSecurityException ouch2) {
+    public deleteRows_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -32340,11 +32495,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public deleteRows_result setOuch3(TableNotFoundException ouch3) {
+    public deleteRows_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -32364,7 +32520,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -32393,6 +32549,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -32530,6 +32687,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -32746,9 +32904,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new exportTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new exportTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String exportDir; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String exportDir; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -32767,6 +32925,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -32793,6 +32952,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -32878,11 +33038,11 @@
     }
 
     public exportTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public exportTable_args setLogin(java.nio.ByteBuffer login) {
+    public exportTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -32902,11 +33062,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public exportTable_args setTableName(java.lang.String tableName) {
+    public exportTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -32926,11 +33087,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExportDir() {
       return this.exportDir;
     }
 
-    public exportTable_args setExportDir(java.lang.String exportDir) {
+    public exportTable_args setExportDir(@org.apache.thrift.annotation.Nullable java.lang.String exportDir) {
       this.exportDir = exportDir;
       return this;
     }
@@ -32950,7 +33112,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -32983,6 +33145,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -33120,6 +33283,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -33330,9 +33494,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new exportTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new exportTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -33351,6 +33515,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -33377,6 +33542,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -33452,11 +33618,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public exportTable_result setOuch1(AccumuloException ouch1) {
+    public exportTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -33476,11 +33643,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public exportTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public exportTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -33500,11 +33668,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public exportTable_result setOuch3(TableNotFoundException ouch3) {
+    public exportTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -33524,7 +33693,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -33553,6 +33722,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -33690,6 +33860,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -33908,10 +34079,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new flushTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new flushTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.nio.ByteBuffer startRow; // required
-    public java.nio.ByteBuffer endRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow; // required
     public boolean wait; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -33933,6 +34104,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -33963,6 +34135,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -34067,11 +34240,11 @@
     }
 
     public flushTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public flushTable_args setLogin(java.nio.ByteBuffer login) {
+    public flushTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -34091,11 +34264,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public flushTable_args setTableName(java.lang.String tableName) {
+    public flushTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -34125,11 +34299,11 @@
     }
 
     public flushTable_args setStartRow(byte[] startRow) {
-      this.startRow = startRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(startRow.clone());
+      this.startRow = startRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(startRow.clone());
       return this;
     }
 
-    public flushTable_args setStartRow(java.nio.ByteBuffer startRow) {
+    public flushTable_args setStartRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow) {
       this.startRow = org.apache.thrift.TBaseHelper.copyBinary(startRow);
       return this;
     }
@@ -34159,11 +34333,11 @@
     }
 
     public flushTable_args setEndRow(byte[] endRow) {
-      this.endRow = endRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(endRow.clone());
+      this.endRow = endRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(endRow.clone());
       return this;
     }
 
-    public flushTable_args setEndRow(java.nio.ByteBuffer endRow) {
+    public flushTable_args setEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow) {
       this.endRow = org.apache.thrift.TBaseHelper.copyBinary(endRow);
       return this;
     }
@@ -34206,7 +34380,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __WAIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -34263,6 +34437,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -34454,6 +34629,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -34722,9 +34898,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new flushTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new flushTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -34743,6 +34919,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -34769,6 +34946,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -34844,11 +35022,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public flushTable_result setOuch1(AccumuloException ouch1) {
+    public flushTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -34868,11 +35047,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public flushTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public flushTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -34892,11 +35072,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public flushTable_result setOuch3(TableNotFoundException ouch3) {
+    public flushTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -34916,7 +35097,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -34945,6 +35126,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -35082,6 +35264,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -35297,8 +35480,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDiskUsage_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDiskUsage_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.util.Set<java.lang.String> tables; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> tables; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -35316,6 +35499,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -35340,6 +35524,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -35419,11 +35604,11 @@
     }
 
     public getDiskUsage_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getDiskUsage_args setLogin(java.nio.ByteBuffer login) {
+    public getDiskUsage_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -35447,6 +35632,7 @@
       return (this.tables == null) ? 0 : this.tables.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getTablesIterator() {
       return (this.tables == null) ? null : this.tables.iterator();
     }
@@ -35458,11 +35644,12 @@
       this.tables.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.lang.String> getTables() {
       return this.tables;
     }
 
-    public getDiskUsage_args setTables(java.util.Set<java.lang.String> tables) {
+    public getDiskUsage_args setTables(@org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> tables) {
       this.tables = tables;
       return this;
     }
@@ -35482,7 +35669,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -35507,6 +35694,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -35616,6 +35804,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -35704,7 +35893,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set224 = iprot.readSetBegin();
                   struct.tables = new java.util.HashSet<java.lang.String>(2*_set224.size);
-                  java.lang.String _elem225;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem225;
                   for (int _i226 = 0; _i226 < _set224.size; ++_i226)
                   {
                     _elem225 = iprot.readString();
@@ -35800,7 +35989,7 @@
           {
             org.apache.thrift.protocol.TSet _set229 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.tables = new java.util.HashSet<java.lang.String>(2*_set229.size);
-            java.lang.String _elem230;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem230;
             for (int _i231 = 0; _i231 < _set229.size; ++_i231)
             {
               _elem230 = iprot.readString();
@@ -35828,10 +36017,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDiskUsage_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDiskUsage_resultTupleSchemeFactory();
 
-    public java.util.List<DiskUsage> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<DiskUsage> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -35851,6 +36040,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -35879,6 +36069,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -35971,6 +36162,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<DiskUsage> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -35982,11 +36174,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<DiskUsage> getSuccess() {
       return this.success;
     }
 
-    public getDiskUsage_result setSuccess(java.util.List<DiskUsage> success) {
+    public getDiskUsage_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<DiskUsage> success) {
       this.success = success;
       return this;
     }
@@ -36006,11 +36199,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getDiskUsage_result setOuch1(AccumuloException ouch1) {
+    public getDiskUsage_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -36030,11 +36224,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getDiskUsage_result setOuch2(AccumuloSecurityException ouch2) {
+    public getDiskUsage_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -36054,11 +36249,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getDiskUsage_result setOuch3(TableNotFoundException ouch3) {
+    public getDiskUsage_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -36078,7 +36274,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -36115,6 +36311,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -36280,6 +36477,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -36376,7 +36574,7 @@
                 {
                   org.apache.thrift.protocol.TList _list232 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<DiskUsage>(_list232.size);
-                  DiskUsage _elem233;
+                  @org.apache.thrift.annotation.Nullable DiskUsage _elem233;
                   for (int _i234 = 0; _i234 < _list232.size; ++_i234)
                   {
                     _elem233 = new DiskUsage();
@@ -36518,7 +36716,7 @@
           {
             org.apache.thrift.protocol.TList _list237 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
             struct.success = new java.util.ArrayList<DiskUsage>(_list237.size);
-            DiskUsage _elem238;
+            @org.apache.thrift.annotation.Nullable DiskUsage _elem238;
             for (int _i239 = 0; _i239 < _list237.size; ++_i239)
             {
               _elem238 = new DiskUsage();
@@ -36560,8 +36758,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalityGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalityGroups_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -36579,6 +36777,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -36603,6 +36802,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -36680,11 +36880,11 @@
     }
 
     public getLocalityGroups_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getLocalityGroups_args setLogin(java.nio.ByteBuffer login) {
+    public getLocalityGroups_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -36704,11 +36904,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public getLocalityGroups_args setTableName(java.lang.String tableName) {
+    public getLocalityGroups_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -36728,7 +36929,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -36753,6 +36954,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -36862,6 +37064,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -37042,10 +37245,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalityGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalityGroups_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<java.lang.String>> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -37065,6 +37268,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -37093,6 +37297,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -37202,11 +37407,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getSuccess() {
       return this.success;
     }
 
-    public getLocalityGroups_result setSuccess(java.util.Map<java.lang.String,java.util.Set<java.lang.String>> success) {
+    public getLocalityGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<java.lang.String>> success) {
       this.success = success;
       return this;
     }
@@ -37226,11 +37432,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getLocalityGroups_result setOuch1(AccumuloException ouch1) {
+    public getLocalityGroups_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -37250,11 +37457,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getLocalityGroups_result setOuch2(AccumuloSecurityException ouch2) {
+    public getLocalityGroups_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -37274,11 +37482,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getLocalityGroups_result setOuch3(TableNotFoundException ouch3) {
+    public getLocalityGroups_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -37298,7 +37507,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -37335,6 +37544,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -37500,6 +37710,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -37596,15 +37807,15 @@
                 {
                   org.apache.thrift.protocol.TMap _map240 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>>(2*_map240.size);
-                  java.lang.String _key241;
-                  java.util.Set<java.lang.String> _val242;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key241;
+                  @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> _val242;
                   for (int _i243 = 0; _i243 < _map240.size; ++_i243)
                   {
                     _key241 = iprot.readString();
                     {
                       org.apache.thrift.protocol.TSet _set244 = iprot.readSetBegin();
                       _val242 = new java.util.HashSet<java.lang.String>(2*_set244.size);
-                      java.lang.String _elem245;
+                      @org.apache.thrift.annotation.Nullable java.lang.String _elem245;
                       for (int _i246 = 0; _i246 < _set244.size; ++_i246)
                       {
                         _elem245 = iprot.readString();
@@ -37764,15 +37975,15 @@
           {
             org.apache.thrift.protocol.TMap _map251 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>>(2*_map251.size);
-            java.lang.String _key252;
-            java.util.Set<java.lang.String> _val253;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key252;
+            @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> _val253;
             for (int _i254 = 0; _i254 < _map251.size; ++_i254)
             {
               _key252 = iprot.readString();
               {
                 org.apache.thrift.protocol.TSet _set255 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
                 _val253 = new java.util.HashSet<java.lang.String>(2*_set255.size);
-                java.lang.String _elem256;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem256;
                 for (int _i257 = 0; _i257 < _set255.size; ++_i257)
                 {
                   _elem256 = iprot.readString();
@@ -37818,14 +38029,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIteratorSetting_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIteratorSetting_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String iteratorName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String iteratorName; // required
     /**
      * 
      * @see IteratorScope
      */
-    public IteratorScope scope; // required
+    public @org.apache.thrift.annotation.Nullable IteratorScope scope; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -37849,6 +38060,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -37877,6 +38089,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -37970,11 +38183,11 @@
     }
 
     public getIteratorSetting_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getIteratorSetting_args setLogin(java.nio.ByteBuffer login) {
+    public getIteratorSetting_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -37994,11 +38207,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public getIteratorSetting_args setTableName(java.lang.String tableName) {
+    public getIteratorSetting_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -38018,11 +38232,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getIteratorName() {
       return this.iteratorName;
     }
 
-    public getIteratorSetting_args setIteratorName(java.lang.String iteratorName) {
+    public getIteratorSetting_args setIteratorName(@org.apache.thrift.annotation.Nullable java.lang.String iteratorName) {
       this.iteratorName = iteratorName;
       return this;
     }
@@ -38046,6 +38261,7 @@
      * 
      * @see IteratorScope
      */
+    @org.apache.thrift.annotation.Nullable
     public IteratorScope getScope() {
       return this.scope;
     }
@@ -38054,7 +38270,7 @@
      * 
      * @see IteratorScope
      */
-    public getIteratorSetting_args setScope(IteratorScope scope) {
+    public getIteratorSetting_args setScope(@org.apache.thrift.annotation.Nullable IteratorScope scope) {
       this.scope = scope;
       return this;
     }
@@ -38074,7 +38290,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -38115,6 +38331,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -38280,6 +38497,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -38522,10 +38740,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIteratorSetting_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIteratorSetting_resultTupleSchemeFactory();
 
-    public IteratorSetting success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable IteratorSetting success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -38545,6 +38763,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -38573,6 +38792,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -38656,11 +38876,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IteratorSetting getSuccess() {
       return this.success;
     }
 
-    public getIteratorSetting_result setSuccess(IteratorSetting success) {
+    public getIteratorSetting_result setSuccess(@org.apache.thrift.annotation.Nullable IteratorSetting success) {
       this.success = success;
       return this;
     }
@@ -38680,11 +38901,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getIteratorSetting_result setOuch1(AccumuloException ouch1) {
+    public getIteratorSetting_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -38704,11 +38926,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getIteratorSetting_result setOuch2(AccumuloSecurityException ouch2) {
+    public getIteratorSetting_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -38728,11 +38951,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getIteratorSetting_result setOuch3(TableNotFoundException ouch3) {
+    public getIteratorSetting_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -38752,7 +38976,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -38789,6 +39013,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -38954,6 +39179,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -39210,12 +39436,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getMaxRow_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getMaxRow_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.util.Set<java.nio.ByteBuffer> auths; // required
-    public java.nio.ByteBuffer startRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> auths; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow; // required
     public boolean startInclusive; // required
-    public java.nio.ByteBuffer endRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow; // required
     public boolean endInclusive; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -39239,6 +39465,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -39273,6 +39500,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39396,11 +39624,11 @@
     }
 
     public getMaxRow_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getMaxRow_args setLogin(java.nio.ByteBuffer login) {
+    public getMaxRow_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -39420,11 +39648,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public getMaxRow_args setTableName(java.lang.String tableName) {
+    public getMaxRow_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -39448,6 +39677,7 @@
       return (this.auths == null) ? 0 : this.auths.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.nio.ByteBuffer> getAuthsIterator() {
       return (this.auths == null) ? null : this.auths.iterator();
     }
@@ -39459,11 +39689,12 @@
       this.auths.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.nio.ByteBuffer> getAuths() {
       return this.auths;
     }
 
-    public getMaxRow_args setAuths(java.util.Set<java.nio.ByteBuffer> auths) {
+    public getMaxRow_args setAuths(@org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> auths) {
       this.auths = auths;
       return this;
     }
@@ -39493,11 +39724,11 @@
     }
 
     public getMaxRow_args setStartRow(byte[] startRow) {
-      this.startRow = startRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(startRow.clone());
+      this.startRow = startRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(startRow.clone());
       return this;
     }
 
-    public getMaxRow_args setStartRow(java.nio.ByteBuffer startRow) {
+    public getMaxRow_args setStartRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow) {
       this.startRow = org.apache.thrift.TBaseHelper.copyBinary(startRow);
       return this;
     }
@@ -39550,11 +39781,11 @@
     }
 
     public getMaxRow_args setEndRow(byte[] endRow) {
-      this.endRow = endRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(endRow.clone());
+      this.endRow = endRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(endRow.clone());
       return this;
     }
 
-    public getMaxRow_args setEndRow(java.nio.ByteBuffer endRow) {
+    public getMaxRow_args setEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow) {
       this.endRow = org.apache.thrift.TBaseHelper.copyBinary(endRow);
       return this;
     }
@@ -39597,7 +39828,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ENDINCLUSIVE_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -39670,6 +39901,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -39915,6 +40147,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -40045,7 +40278,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set258 = iprot.readSetBegin();
                   struct.auths = new java.util.HashSet<java.nio.ByteBuffer>(2*_set258.size);
-                  java.nio.ByteBuffer _elem259;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem259;
                   for (int _i260 = 0; _i260 < _set258.size; ++_i260)
                   {
                     _elem259 = iprot.readBinary();
@@ -40228,7 +40461,7 @@
           {
             org.apache.thrift.protocol.TSet _set263 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.auths = new java.util.HashSet<java.nio.ByteBuffer>(2*_set263.size);
-            java.nio.ByteBuffer _elem264;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem264;
             for (int _i265 = 0; _i265 < _set263.size; ++_i265)
             {
               _elem264 = iprot.readBinary();
@@ -40272,10 +40505,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getMaxRow_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getMaxRow_resultTupleSchemeFactory();
 
-    public java.nio.ByteBuffer success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -40295,6 +40528,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -40323,6 +40557,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40416,11 +40651,11 @@
     }
 
     public getMaxRow_result setSuccess(byte[] success) {
-      this.success = success == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(success.clone());
+      this.success = success == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(success.clone());
       return this;
     }
 
-    public getMaxRow_result setSuccess(java.nio.ByteBuffer success) {
+    public getMaxRow_result setSuccess(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer success) {
       this.success = org.apache.thrift.TBaseHelper.copyBinary(success);
       return this;
     }
@@ -40440,11 +40675,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getMaxRow_result setOuch1(AccumuloException ouch1) {
+    public getMaxRow_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -40464,11 +40700,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getMaxRow_result setOuch2(AccumuloSecurityException ouch2) {
+    public getMaxRow_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -40488,11 +40725,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getMaxRow_result setOuch3(TableNotFoundException ouch3) {
+    public getMaxRow_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -40512,7 +40750,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -40553,6 +40791,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -40718,6 +40957,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -40964,8 +41204,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTableProperties_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTableProperties_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -40983,6 +41223,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -41007,6 +41248,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41084,11 +41326,11 @@
     }
 
     public getTableProperties_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getTableProperties_args setLogin(java.nio.ByteBuffer login) {
+    public getTableProperties_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -41108,11 +41350,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public getTableProperties_args setTableName(java.lang.String tableName) {
+    public getTableProperties_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -41132,7 +41375,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -41157,6 +41400,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -41266,6 +41510,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -41446,10 +41691,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTableProperties_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTableProperties_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -41469,6 +41714,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -41497,6 +41743,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41594,11 +41841,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getTableProperties_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getTableProperties_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -41618,11 +41866,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getTableProperties_result setOuch1(AccumuloException ouch1) {
+    public getTableProperties_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -41642,11 +41891,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getTableProperties_result setOuch2(AccumuloSecurityException ouch2) {
+    public getTableProperties_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -41666,11 +41916,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getTableProperties_result setOuch3(TableNotFoundException ouch3) {
+    public getTableProperties_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -41690,7 +41941,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -41727,6 +41978,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -41892,6 +42144,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -41988,8 +42241,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map266 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map266.size);
-                  java.lang.String _key267;
-                  java.lang.String _val268;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key267;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val268;
                   for (int _i269 = 0; _i269 < _map266.size; ++_i269)
                   {
                     _key267 = iprot.readString();
@@ -42133,8 +42386,8 @@
           {
             org.apache.thrift.protocol.TMap _map272 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map272.size);
-            java.lang.String _key273;
-            java.lang.String _val274;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key273;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val274;
             for (int _i275 = 0; _i275 < _map272.size; ++_i275)
             {
               _key273 = iprot.readString();
@@ -42179,10 +42432,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new importDirectory_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new importDirectory_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String importDir; // required
-    public java.lang.String failureDir; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String importDir; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String failureDir; // required
     public boolean setTime; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -42204,6 +42457,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -42234,6 +42488,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -42338,11 +42593,11 @@
     }
 
     public importDirectory_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public importDirectory_args setLogin(java.nio.ByteBuffer login) {
+    public importDirectory_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -42362,11 +42617,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public importDirectory_args setTableName(java.lang.String tableName) {
+    public importDirectory_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -42386,11 +42642,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getImportDir() {
       return this.importDir;
     }
 
-    public importDirectory_args setImportDir(java.lang.String importDir) {
+    public importDirectory_args setImportDir(@org.apache.thrift.annotation.Nullable java.lang.String importDir) {
       this.importDir = importDir;
       return this;
     }
@@ -42410,11 +42667,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getFailureDir() {
       return this.failureDir;
     }
 
-    public importDirectory_args setFailureDir(java.lang.String failureDir) {
+    public importDirectory_args setFailureDir(@org.apache.thrift.annotation.Nullable java.lang.String failureDir) {
       this.failureDir = failureDir;
       return this;
     }
@@ -42457,7 +42715,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SETTIME_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -42506,6 +42764,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -42697,6 +42956,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -42965,9 +43225,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new importDirectory_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new importDirectory_resultTupleSchemeFactory();
 
-    public TableNotFoundException ouch1; // required
-    public AccumuloException ouch3; // required
-    public AccumuloSecurityException ouch4; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch4; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -42986,6 +43246,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -43012,6 +43273,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43087,11 +43349,12 @@
       this.ouch4 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch1() {
       return this.ouch1;
     }
 
-    public importDirectory_result setOuch1(TableNotFoundException ouch1) {
+    public importDirectory_result setOuch1(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -43111,11 +43374,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch3() {
       return this.ouch3;
     }
 
-    public importDirectory_result setOuch3(AccumuloException ouch3) {
+    public importDirectory_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -43135,11 +43399,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch4() {
       return this.ouch4;
     }
 
-    public importDirectory_result setOuch4(AccumuloSecurityException ouch4) {
+    public importDirectory_result setOuch4(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch4) {
       this.ouch4 = ouch4;
       return this;
     }
@@ -43159,7 +43424,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -43188,6 +43453,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -43325,6 +43591,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -43541,9 +43808,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new importTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new importTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String importDir; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String importDir; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -43562,6 +43829,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -43588,6 +43856,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43673,11 +43942,11 @@
     }
 
     public importTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public importTable_args setLogin(java.nio.ByteBuffer login) {
+    public importTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -43697,11 +43966,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public importTable_args setTableName(java.lang.String tableName) {
+    public importTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -43721,11 +43991,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getImportDir() {
       return this.importDir;
     }
 
-    public importTable_args setImportDir(java.lang.String importDir) {
+    public importTable_args setImportDir(@org.apache.thrift.annotation.Nullable java.lang.String importDir) {
       this.importDir = importDir;
       return this;
     }
@@ -43745,7 +44016,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -43778,6 +44049,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -43915,6 +44187,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -44125,9 +44398,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new importTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new importTable_resultTupleSchemeFactory();
 
-    public TableExistsException ouch1; // required
-    public AccumuloException ouch2; // required
-    public AccumuloSecurityException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable TableExistsException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -44146,6 +44419,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -44172,6 +44446,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44247,11 +44522,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableExistsException getOuch1() {
       return this.ouch1;
     }
 
-    public importTable_result setOuch1(TableExistsException ouch1) {
+    public importTable_result setOuch1(@org.apache.thrift.annotation.Nullable TableExistsException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -44271,11 +44547,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch2() {
       return this.ouch2;
     }
 
-    public importTable_result setOuch2(AccumuloException ouch2) {
+    public importTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -44295,11 +44572,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch3() {
       return this.ouch3;
     }
 
-    public importTable_result setOuch3(AccumuloSecurityException ouch3) {
+    public importTable_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -44319,7 +44597,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -44348,6 +44626,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -44485,6 +44764,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -44701,8 +44981,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listSplits_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listSplits_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
     public int maxSplits; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -44722,6 +45002,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -44748,6 +45029,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44836,11 +45118,11 @@
     }
 
     public listSplits_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listSplits_args setLogin(java.nio.ByteBuffer login) {
+    public listSplits_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -44860,11 +45142,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public listSplits_args setTableName(java.lang.String tableName) {
+    public listSplits_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -44907,7 +45190,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __MAXSPLITS_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -44940,6 +45223,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -45075,6 +45359,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -45282,10 +45567,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listSplits_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listSplits_resultTupleSchemeFactory();
 
-    public java.util.List<java.nio.ByteBuffer> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.nio.ByteBuffer> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -45305,6 +45590,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -45333,6 +45619,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45422,6 +45709,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.nio.ByteBuffer> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -45433,11 +45721,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.nio.ByteBuffer> getSuccess() {
       return this.success;
     }
 
-    public listSplits_result setSuccess(java.util.List<java.nio.ByteBuffer> success) {
+    public listSplits_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.nio.ByteBuffer> success) {
       this.success = success;
       return this;
     }
@@ -45457,11 +45746,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listSplits_result setOuch1(AccumuloException ouch1) {
+    public listSplits_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -45481,11 +45771,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listSplits_result setOuch2(AccumuloSecurityException ouch2) {
+    public listSplits_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -45505,11 +45796,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public listSplits_result setOuch3(TableNotFoundException ouch3) {
+    public listSplits_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -45529,7 +45821,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -45566,6 +45858,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -45731,6 +46024,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -45827,7 +46121,7 @@
                 {
                   org.apache.thrift.protocol.TList _list276 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.nio.ByteBuffer>(_list276.size);
-                  java.nio.ByteBuffer _elem277;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem277;
                   for (int _i278 = 0; _i278 < _list276.size; ++_i278)
                   {
                     _elem277 = iprot.readBinary();
@@ -45968,7 +46262,7 @@
           {
             org.apache.thrift.protocol.TList _list281 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.ArrayList<java.nio.ByteBuffer>(_list281.size);
-            java.nio.ByteBuffer _elem282;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem282;
             for (int _i283 = 0; _i283 < _list281.size; ++_i283)
             {
               _elem282 = iprot.readBinary();
@@ -46008,7 +46302,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listTables_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listTables_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -46025,6 +46319,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -46047,6 +46342,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46116,11 +46412,11 @@
     }
 
     public listTables_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listTables_args setLogin(java.nio.ByteBuffer login) {
+    public listTables_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -46140,7 +46436,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -46157,6 +46453,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -46238,6 +46535,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -46384,7 +46682,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listTables_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listTables_resultTupleSchemeFactory();
 
-    public java.util.Set<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -46401,6 +46699,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -46423,6 +46722,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46488,6 +46788,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -46499,11 +46800,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public listTables_result setSuccess(java.util.Set<java.lang.String> success) {
+    public listTables_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -46523,7 +46825,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -46536,6 +46838,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -46617,6 +46920,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -46689,7 +46993,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set284 = iprot.readSetBegin();
                   struct.success = new java.util.HashSet<java.lang.String>(2*_set284.size);
-                  java.lang.String _elem285;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem285;
                   for (int _i286 = 0; _i286 < _set284.size; ++_i286)
                   {
                     _elem285 = iprot.readString();
@@ -46770,7 +47074,7 @@
           {
             org.apache.thrift.protocol.TSet _set289 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashSet<java.lang.String>(2*_set289.size);
-            java.lang.String _elem290;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem290;
             for (int _i291 = 0; _i291 < _set289.size; ++_i291)
             {
               _elem290 = iprot.readString();
@@ -46796,8 +47100,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listIterators_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listIterators_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -46815,6 +47119,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -46839,6 +47144,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46916,11 +47222,11 @@
     }
 
     public listIterators_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listIterators_args setLogin(java.nio.ByteBuffer login) {
+    public listIterators_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -46940,11 +47246,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public listIterators_args setTableName(java.lang.String tableName) {
+    public listIterators_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -46964,7 +47271,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -46989,6 +47296,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -47098,6 +47406,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -47278,10 +47587,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listIterators_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listIterators_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -47301,6 +47610,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -47329,6 +47639,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -47441,11 +47752,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.util.Set<IteratorScope>> getSuccess() {
       return this.success;
     }
 
-    public listIterators_result setSuccess(java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success) {
+    public listIterators_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success) {
       this.success = success;
       return this;
     }
@@ -47465,11 +47777,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listIterators_result setOuch1(AccumuloException ouch1) {
+    public listIterators_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -47489,11 +47802,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listIterators_result setOuch2(AccumuloSecurityException ouch2) {
+    public listIterators_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -47513,11 +47827,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public listIterators_result setOuch3(TableNotFoundException ouch3) {
+    public listIterators_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -47537,7 +47852,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -47574,6 +47889,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -47739,6 +48055,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -47835,15 +48152,15 @@
                 {
                   org.apache.thrift.protocol.TMap _map292 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.util.Set<IteratorScope>>(2*_map292.size);
-                  java.lang.String _key293;
-                  java.util.Set<IteratorScope> _val294;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key293;
+                  @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> _val294;
                   for (int _i295 = 0; _i295 < _map292.size; ++_i295)
                   {
                     _key293 = iprot.readString();
                     {
                       org.apache.thrift.protocol.TSet _set296 = iprot.readSetBegin();
                       _val294 = java.util.EnumSet.noneOf(IteratorScope.class);
-                      IteratorScope _elem297;
+                      @org.apache.thrift.annotation.Nullable IteratorScope _elem297;
                       for (int _i298 = 0; _i298 < _set296.size; ++_i298)
                       {
                         _elem297 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -48006,15 +48323,15 @@
           {
             org.apache.thrift.protocol.TMap _map303 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.util.Set<IteratorScope>>(2*_map303.size);
-            java.lang.String _key304;
-            java.util.Set<IteratorScope> _val305;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key304;
+            @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> _val305;
             for (int _i306 = 0; _i306 < _map303.size; ++_i306)
             {
               _key304 = iprot.readString();
               {
                 org.apache.thrift.protocol.TSet _set307 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
                 _val305 = java.util.EnumSet.noneOf(IteratorScope.class);
-                IteratorScope _elem308;
+                @org.apache.thrift.annotation.Nullable IteratorScope _elem308;
                 for (int _i309 = 0; _i309 < _set307.size; ++_i309)
                 {
                   _elem308 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -48061,8 +48378,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listConstraints_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listConstraints_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -48080,6 +48397,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -48104,6 +48422,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48181,11 +48500,11 @@
     }
 
     public listConstraints_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listConstraints_args setLogin(java.nio.ByteBuffer login) {
+    public listConstraints_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -48205,11 +48524,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public listConstraints_args setTableName(java.lang.String tableName) {
+    public listConstraints_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -48229,7 +48549,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -48254,6 +48574,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -48363,6 +48684,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -48543,10 +48865,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listConstraints_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listConstraints_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.Integer> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -48566,6 +48888,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -48594,6 +48917,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48691,11 +49015,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.Integer> getSuccess() {
       return this.success;
     }
 
-    public listConstraints_result setSuccess(java.util.Map<java.lang.String,java.lang.Integer> success) {
+    public listConstraints_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> success) {
       this.success = success;
       return this;
     }
@@ -48715,11 +49040,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listConstraints_result setOuch1(AccumuloException ouch1) {
+    public listConstraints_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -48739,11 +49065,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listConstraints_result setOuch2(AccumuloSecurityException ouch2) {
+    public listConstraints_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -48763,11 +49090,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public listConstraints_result setOuch3(TableNotFoundException ouch3) {
+    public listConstraints_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -48787,7 +49115,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -48824,6 +49152,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -48989,6 +49318,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -49085,7 +49415,7 @@
                 {
                   org.apache.thrift.protocol.TMap _map310 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map310.size);
-                  java.lang.String _key311;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key311;
                   int _val312;
                   for (int _i313 = 0; _i313 < _map310.size; ++_i313)
                   {
@@ -49230,7 +49560,7 @@
           {
             org.apache.thrift.protocol.TMap _map316 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map316.size);
-            java.lang.String _key317;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key317;
             int _val318;
             for (int _i319 = 0; _i319 < _map316.size; ++_i319)
             {
@@ -49275,10 +49605,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new mergeTablets_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new mergeTablets_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.nio.ByteBuffer startRow; // required
-    public java.nio.ByteBuffer endRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49298,6 +49628,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -49326,6 +49657,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49419,11 +49751,11 @@
     }
 
     public mergeTablets_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public mergeTablets_args setLogin(java.nio.ByteBuffer login) {
+    public mergeTablets_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -49443,11 +49775,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public mergeTablets_args setTableName(java.lang.String tableName) {
+    public mergeTablets_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -49477,11 +49810,11 @@
     }
 
     public mergeTablets_args setStartRow(byte[] startRow) {
-      this.startRow = startRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(startRow.clone());
+      this.startRow = startRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(startRow.clone());
       return this;
     }
 
-    public mergeTablets_args setStartRow(java.nio.ByteBuffer startRow) {
+    public mergeTablets_args setStartRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer startRow) {
       this.startRow = org.apache.thrift.TBaseHelper.copyBinary(startRow);
       return this;
     }
@@ -49511,11 +49844,11 @@
     }
 
     public mergeTablets_args setEndRow(byte[] endRow) {
-      this.endRow = endRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(endRow.clone());
+      this.endRow = endRow == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(endRow.clone());
       return this;
     }
 
-    public mergeTablets_args setEndRow(java.nio.ByteBuffer endRow) {
+    public mergeTablets_args setEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow) {
       this.endRow = org.apache.thrift.TBaseHelper.copyBinary(endRow);
       return this;
     }
@@ -49535,7 +49868,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -49584,6 +49917,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -49749,6 +50083,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -49990,9 +50325,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new mergeTablets_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new mergeTablets_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -50011,6 +50346,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -50037,6 +50373,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -50112,11 +50449,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public mergeTablets_result setOuch1(AccumuloException ouch1) {
+    public mergeTablets_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -50136,11 +50474,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public mergeTablets_result setOuch2(AccumuloSecurityException ouch2) {
+    public mergeTablets_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -50160,11 +50499,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public mergeTablets_result setOuch3(TableNotFoundException ouch3) {
+    public mergeTablets_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -50184,7 +50524,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -50213,6 +50553,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -50350,6 +50691,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -50566,8 +50908,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new offlineTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new offlineTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
     public boolean wait; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -50587,6 +50929,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -50613,6 +50956,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -50703,11 +51047,11 @@
     }
 
     public offlineTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public offlineTable_args setLogin(java.nio.ByteBuffer login) {
+    public offlineTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -50727,11 +51071,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public offlineTable_args setTableName(java.lang.String tableName) {
+    public offlineTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -50774,7 +51119,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __WAIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -50807,6 +51152,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -50942,6 +51288,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -51148,9 +51495,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new offlineTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new offlineTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -51169,6 +51516,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -51195,6 +51543,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51270,11 +51619,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public offlineTable_result setOuch1(AccumuloException ouch1) {
+    public offlineTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -51294,11 +51644,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public offlineTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public offlineTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -51318,11 +51669,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public offlineTable_result setOuch3(TableNotFoundException ouch3) {
+    public offlineTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -51342,7 +51694,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -51371,6 +51723,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -51508,6 +51861,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -51724,8 +52078,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new onlineTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new onlineTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
     public boolean wait; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -51745,6 +52099,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -51771,6 +52126,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51861,11 +52217,11 @@
     }
 
     public onlineTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public onlineTable_args setLogin(java.nio.ByteBuffer login) {
+    public onlineTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -51885,11 +52241,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public onlineTable_args setTableName(java.lang.String tableName) {
+    public onlineTable_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -51932,7 +52289,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __WAIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -51965,6 +52322,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -52100,6 +52458,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -52306,9 +52665,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new onlineTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new onlineTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -52327,6 +52686,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -52353,6 +52713,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -52428,11 +52789,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public onlineTable_result setOuch1(AccumuloException ouch1) {
+    public onlineTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -52452,11 +52814,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public onlineTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public onlineTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -52476,11 +52839,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public onlineTable_result setOuch3(TableNotFoundException ouch3) {
+    public onlineTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -52500,7 +52864,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -52529,6 +52893,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -52666,6 +53031,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -52882,8 +53248,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeConstraint_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeConstraint_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
     public int constraint; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -52903,6 +53269,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -52929,6 +53296,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -53017,11 +53385,11 @@
     }
 
     public removeConstraint_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeConstraint_args setLogin(java.nio.ByteBuffer login) {
+    public removeConstraint_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -53041,11 +53409,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public removeConstraint_args setTableName(java.lang.String tableName) {
+    public removeConstraint_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -53088,7 +53457,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CONSTRAINT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -53121,6 +53490,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -53256,6 +53626,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -53462,9 +53833,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeConstraint_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeConstraint_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -53483,6 +53854,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -53509,6 +53881,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -53584,11 +53957,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeConstraint_result setOuch1(AccumuloException ouch1) {
+    public removeConstraint_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -53608,11 +53982,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeConstraint_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeConstraint_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -53632,11 +54007,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public removeConstraint_result setOuch3(TableNotFoundException ouch3) {
+    public removeConstraint_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -53656,7 +54032,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -53685,6 +54061,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -53822,6 +54199,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -54039,10 +54417,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeIterator_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeIterator_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String iterName; // required
-    public java.util.Set<IteratorScope> scopes; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String iterName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -54062,6 +54440,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -54090,6 +54469,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54188,11 +54568,11 @@
     }
 
     public removeIterator_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeIterator_args setLogin(java.nio.ByteBuffer login) {
+    public removeIterator_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -54212,11 +54592,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public removeIterator_args setTableName(java.lang.String tableName) {
+    public removeIterator_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -54236,11 +54617,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getIterName() {
       return this.iterName;
     }
 
-    public removeIterator_args setIterName(java.lang.String iterName) {
+    public removeIterator_args setIterName(@org.apache.thrift.annotation.Nullable java.lang.String iterName) {
       this.iterName = iterName;
       return this;
     }
@@ -54264,6 +54646,7 @@
       return (this.scopes == null) ? 0 : this.scopes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorScope> getScopesIterator() {
       return (this.scopes == null) ? null : this.scopes.iterator();
     }
@@ -54275,11 +54658,12 @@
       this.scopes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<IteratorScope> getScopes() {
       return this.scopes;
     }
 
-    public removeIterator_args setScopes(java.util.Set<IteratorScope> scopes) {
+    public removeIterator_args setScopes(@org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes) {
       this.scopes = scopes;
       return this;
     }
@@ -54299,7 +54683,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -54340,6 +54724,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -54505,6 +54890,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -54625,7 +55011,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set320 = iprot.readSetBegin();
                   struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-                  IteratorScope _elem321;
+                  @org.apache.thrift.annotation.Nullable IteratorScope _elem321;
                   for (int _i322 = 0; _i322 < _set320.size; ++_i322)
                   {
                     _elem321 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -54754,7 +55140,7 @@
           {
             org.apache.thrift.protocol.TSet _set325 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-            IteratorScope _elem326;
+            @org.apache.thrift.annotation.Nullable IteratorScope _elem326;
             for (int _i327 = 0; _i327 < _set325.size; ++_i327)
             {
               _elem326 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -54784,9 +55170,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeIterator_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeIterator_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -54805,6 +55191,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -54831,6 +55218,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54906,11 +55294,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeIterator_result setOuch1(AccumuloException ouch1) {
+    public removeIterator_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -54930,11 +55319,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeIterator_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeIterator_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -54954,11 +55344,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public removeIterator_result setOuch3(TableNotFoundException ouch3) {
+    public removeIterator_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -54978,7 +55369,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -55007,6 +55398,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -55144,6 +55536,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -55360,9 +55753,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeTableProperty_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeTableProperty_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String property; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String property; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -55381,6 +55774,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -55407,6 +55801,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55492,11 +55887,11 @@
     }
 
     public removeTableProperty_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeTableProperty_args setLogin(java.nio.ByteBuffer login) {
+    public removeTableProperty_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -55516,11 +55911,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public removeTableProperty_args setTableName(java.lang.String tableName) {
+    public removeTableProperty_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -55540,11 +55936,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProperty() {
       return this.property;
     }
 
-    public removeTableProperty_args setProperty(java.lang.String property) {
+    public removeTableProperty_args setProperty(@org.apache.thrift.annotation.Nullable java.lang.String property) {
       this.property = property;
       return this;
     }
@@ -55564,7 +55961,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -55597,6 +55994,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -55734,6 +56132,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -55944,9 +56343,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeTableProperty_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeTableProperty_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -55965,6 +56364,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -55991,6 +56391,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56066,11 +56467,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeTableProperty_result setOuch1(AccumuloException ouch1) {
+    public removeTableProperty_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -56090,11 +56492,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeTableProperty_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeTableProperty_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -56114,11 +56517,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public removeTableProperty_result setOuch3(TableNotFoundException ouch3) {
+    public removeTableProperty_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -56138,7 +56542,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -56167,6 +56571,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -56304,6 +56709,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -56520,9 +56926,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renameTable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renameTable_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String oldTableName; // required
-    public java.lang.String newTableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String oldTableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newTableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -56541,6 +56947,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -56567,6 +56974,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56652,11 +57060,11 @@
     }
 
     public renameTable_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public renameTable_args setLogin(java.nio.ByteBuffer login) {
+    public renameTable_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -56676,11 +57084,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getOldTableName() {
       return this.oldTableName;
     }
 
-    public renameTable_args setOldTableName(java.lang.String oldTableName) {
+    public renameTable_args setOldTableName(@org.apache.thrift.annotation.Nullable java.lang.String oldTableName) {
       this.oldTableName = oldTableName;
       return this;
     }
@@ -56700,11 +57109,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewTableName() {
       return this.newTableName;
     }
 
-    public renameTable_args setNewTableName(java.lang.String newTableName) {
+    public renameTable_args setNewTableName(@org.apache.thrift.annotation.Nullable java.lang.String newTableName) {
       this.newTableName = newTableName;
       return this;
     }
@@ -56724,7 +57134,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -56757,6 +57167,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -56894,6 +57305,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -57105,10 +57517,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renameTable_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renameTable_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
-    public TableExistsException ouch4; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable TableExistsException ouch4; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -57128,6 +57540,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -57156,6 +57569,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57239,11 +57653,12 @@
       this.ouch4 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public renameTable_result setOuch1(AccumuloException ouch1) {
+    public renameTable_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -57263,11 +57678,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public renameTable_result setOuch2(AccumuloSecurityException ouch2) {
+    public renameTable_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -57287,11 +57703,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public renameTable_result setOuch3(TableNotFoundException ouch3) {
+    public renameTable_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -57311,11 +57728,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableExistsException getOuch4() {
       return this.ouch4;
     }
 
-    public renameTable_result setOuch4(TableExistsException ouch4) {
+    public renameTable_result setOuch4(@org.apache.thrift.annotation.Nullable TableExistsException ouch4) {
       this.ouch4 = ouch4;
       return this;
     }
@@ -57335,7 +57753,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -57372,6 +57790,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -57537,6 +57956,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -57786,9 +58206,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setLocalityGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setLocalityGroups_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> groups; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<java.lang.String>> groups; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -57807,6 +58227,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -57833,6 +58254,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57933,11 +58355,11 @@
     }
 
     public setLocalityGroups_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public setLocalityGroups_args setLogin(java.nio.ByteBuffer login) {
+    public setLocalityGroups_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -57957,11 +58379,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public setLocalityGroups_args setTableName(java.lang.String tableName) {
+    public setLocalityGroups_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -57992,11 +58415,12 @@
       this.groups.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getGroups() {
       return this.groups;
     }
 
-    public setLocalityGroups_args setGroups(java.util.Map<java.lang.String,java.util.Set<java.lang.String>> groups) {
+    public setLocalityGroups_args setGroups(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<java.lang.String>> groups) {
       this.groups = groups;
       return this;
     }
@@ -58016,7 +58440,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -58049,6 +58473,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -58186,6 +58611,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -58290,15 +58716,15 @@
                 {
                   org.apache.thrift.protocol.TMap _map328 = iprot.readMapBegin();
                   struct.groups = new java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>>(2*_map328.size);
-                  java.lang.String _key329;
-                  java.util.Set<java.lang.String> _val330;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key329;
+                  @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> _val330;
                   for (int _i331 = 0; _i331 < _map328.size; ++_i331)
                   {
                     _key329 = iprot.readString();
                     {
                       org.apache.thrift.protocol.TSet _set332 = iprot.readSetBegin();
                       _val330 = new java.util.HashSet<java.lang.String>(2*_set332.size);
-                      java.lang.String _elem333;
+                      @org.apache.thrift.annotation.Nullable java.lang.String _elem333;
                       for (int _i334 = 0; _i334 < _set332.size; ++_i334)
                       {
                         _elem333 = iprot.readString();
@@ -58428,15 +58854,15 @@
           {
             org.apache.thrift.protocol.TMap _map339 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, iprot.readI32());
             struct.groups = new java.util.HashMap<java.lang.String,java.util.Set<java.lang.String>>(2*_map339.size);
-            java.lang.String _key340;
-            java.util.Set<java.lang.String> _val341;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key340;
+            @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> _val341;
             for (int _i342 = 0; _i342 < _map339.size; ++_i342)
             {
               _key340 = iprot.readString();
               {
                 org.apache.thrift.protocol.TSet _set343 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
                 _val341 = new java.util.HashSet<java.lang.String>(2*_set343.size);
-                java.lang.String _elem344;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem344;
                 for (int _i345 = 0; _i345 < _set343.size; ++_i345)
                 {
                   _elem344 = iprot.readString();
@@ -58466,9 +58892,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setLocalityGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setLocalityGroups_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -58487,6 +58913,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -58513,6 +58940,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58588,11 +59016,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public setLocalityGroups_result setOuch1(AccumuloException ouch1) {
+    public setLocalityGroups_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -58612,11 +59041,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public setLocalityGroups_result setOuch2(AccumuloSecurityException ouch2) {
+    public setLocalityGroups_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -58636,11 +59066,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public setLocalityGroups_result setOuch3(TableNotFoundException ouch3) {
+    public setLocalityGroups_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -58660,7 +59091,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -58689,6 +59120,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -58826,6 +59258,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -59043,10 +59476,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setTableProperty_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setTableProperty_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String property; // required
-    public java.lang.String value; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String property; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String value; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59066,6 +59499,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -59094,6 +59528,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59187,11 +59622,11 @@
     }
 
     public setTableProperty_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public setTableProperty_args setLogin(java.nio.ByteBuffer login) {
+    public setTableProperty_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -59211,11 +59646,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public setTableProperty_args setTableName(java.lang.String tableName) {
+    public setTableProperty_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -59235,11 +59671,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProperty() {
       return this.property;
     }
 
-    public setTableProperty_args setProperty(java.lang.String property) {
+    public setTableProperty_args setProperty(@org.apache.thrift.annotation.Nullable java.lang.String property) {
       this.property = property;
       return this;
     }
@@ -59259,11 +59696,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getValue() {
       return this.value;
     }
 
-    public setTableProperty_args setValue(java.lang.String value) {
+    public setTableProperty_args setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
       this.value = value;
       return this;
     }
@@ -59283,7 +59721,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -59324,6 +59762,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -59489,6 +59928,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -59730,9 +60170,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setTableProperty_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setTableProperty_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59751,6 +60191,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -59777,6 +60218,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59852,11 +60294,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public setTableProperty_result setOuch1(AccumuloException ouch1) {
+    public setTableProperty_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -59876,11 +60319,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public setTableProperty_result setOuch2(AccumuloSecurityException ouch2) {
+    public setTableProperty_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -59900,11 +60344,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public setTableProperty_result setOuch3(TableNotFoundException ouch3) {
+    public setTableProperty_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -59924,7 +60369,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -59953,6 +60398,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -60090,6 +60536,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -60307,9 +60754,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new splitRangeByTablets_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new splitRangeByTablets_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public Range range; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable Range range; // required
     public int maxSplits; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -60330,6 +60777,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -60358,6 +60806,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -60454,11 +60903,11 @@
     }
 
     public splitRangeByTablets_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public splitRangeByTablets_args setLogin(java.nio.ByteBuffer login) {
+    public splitRangeByTablets_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -60478,11 +60927,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public splitRangeByTablets_args setTableName(java.lang.String tableName) {
+    public splitRangeByTablets_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -60502,11 +60952,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public Range getRange() {
       return this.range;
     }
 
-    public splitRangeByTablets_args setRange(Range range) {
+    public splitRangeByTablets_args setRange(@org.apache.thrift.annotation.Nullable Range range) {
       this.range = range;
       return this;
     }
@@ -60549,7 +61000,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __MAXSPLITS_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -60590,6 +61041,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -60753,6 +61205,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -60996,10 +61449,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new splitRangeByTablets_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new splitRangeByTablets_resultTupleSchemeFactory();
 
-    public java.util.Set<Range> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<Range> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -61019,6 +61472,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -61047,6 +61501,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61139,6 +61594,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<Range> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -61150,11 +61606,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<Range> getSuccess() {
       return this.success;
     }
 
-    public splitRangeByTablets_result setSuccess(java.util.Set<Range> success) {
+    public splitRangeByTablets_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Set<Range> success) {
       this.success = success;
       return this;
     }
@@ -61174,11 +61631,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public splitRangeByTablets_result setOuch1(AccumuloException ouch1) {
+    public splitRangeByTablets_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -61198,11 +61656,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public splitRangeByTablets_result setOuch2(AccumuloSecurityException ouch2) {
+    public splitRangeByTablets_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -61222,11 +61681,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public splitRangeByTablets_result setOuch3(TableNotFoundException ouch3) {
+    public splitRangeByTablets_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -61246,7 +61706,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -61283,6 +61743,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -61448,6 +61909,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -61544,7 +62006,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set346 = iprot.readSetBegin();
                   struct.success = new java.util.HashSet<Range>(2*_set346.size);
-                  Range _elem347;
+                  @org.apache.thrift.annotation.Nullable Range _elem347;
                   for (int _i348 = 0; _i348 < _set346.size; ++_i348)
                   {
                     _elem347 = new Range();
@@ -61686,7 +62148,7 @@
           {
             org.apache.thrift.protocol.TSet _set351 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
             struct.success = new java.util.HashSet<Range>(2*_set351.size);
-            Range _elem352;
+            @org.apache.thrift.annotation.Nullable Range _elem352;
             for (int _i353 = 0; _i353 < _set351.size; ++_i353)
             {
               _elem352 = new Range();
@@ -61728,8 +62190,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new tableExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new tableExists_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -61747,6 +62209,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -61771,6 +62234,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61848,11 +62312,11 @@
     }
 
     public tableExists_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public tableExists_args setLogin(java.nio.ByteBuffer login) {
+    public tableExists_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -61872,11 +62336,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public tableExists_args setTableName(java.lang.String tableName) {
+    public tableExists_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -61896,7 +62361,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -61921,6 +62386,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -62030,6 +62496,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -62224,6 +62691,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -62246,6 +62714,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62331,7 +62800,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -62344,6 +62813,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -62423,6 +62893,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -62567,7 +63038,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new tableIdMap_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new tableIdMap_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -62584,6 +63055,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -62606,6 +63078,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62675,11 +63148,11 @@
     }
 
     public tableIdMap_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public tableIdMap_args setLogin(java.nio.ByteBuffer login) {
+    public tableIdMap_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -62699,7 +63172,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -62716,6 +63189,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -62797,6 +63271,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -62943,7 +63418,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new tableIdMap_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new tableIdMap_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -62960,6 +63435,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -62982,6 +63458,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63055,11 +63532,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public tableIdMap_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public tableIdMap_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -63079,7 +63557,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -63092,6 +63570,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -63173,6 +63652,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -63245,8 +63725,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map354 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map354.size);
-                  java.lang.String _key355;
-                  java.lang.String _val356;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key355;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val356;
                   for (int _i357 = 0; _i357 < _map354.size; ++_i357)
                   {
                     _key355 = iprot.readString();
@@ -63330,8 +63810,8 @@
           {
             org.apache.thrift.protocol.TMap _map360 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map360.size);
-            java.lang.String _key361;
-            java.lang.String _val362;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key361;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val362;
             for (int _i363 = 0; _i363 < _map360.size; ++_i363)
             {
               _key361 = iprot.readString();
@@ -63360,10 +63840,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new testTableClassLoad_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new testTableClassLoad_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.lang.String className; // required
-    public java.lang.String asTypeName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String className; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String asTypeName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -63383,6 +63863,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -63411,6 +63892,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63504,11 +63986,11 @@
     }
 
     public testTableClassLoad_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public testTableClassLoad_args setLogin(java.nio.ByteBuffer login) {
+    public testTableClassLoad_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -63528,11 +64010,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public testTableClassLoad_args setTableName(java.lang.String tableName) {
+    public testTableClassLoad_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -63552,11 +64035,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getClassName() {
       return this.className;
     }
 
-    public testTableClassLoad_args setClassName(java.lang.String className) {
+    public testTableClassLoad_args setClassName(@org.apache.thrift.annotation.Nullable java.lang.String className) {
       this.className = className;
       return this;
     }
@@ -63576,11 +64060,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAsTypeName() {
       return this.asTypeName;
     }
 
-    public testTableClassLoad_args setAsTypeName(java.lang.String asTypeName) {
+    public testTableClassLoad_args setAsTypeName(@org.apache.thrift.annotation.Nullable java.lang.String asTypeName) {
       this.asTypeName = asTypeName;
       return this;
     }
@@ -63600,7 +64085,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -63641,6 +64126,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -63806,6 +64292,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -64049,9 +64536,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new testTableClassLoad_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -64071,6 +64558,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -64099,6 +64587,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64208,11 +64697,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public testTableClassLoad_result setOuch1(AccumuloException ouch1) {
+    public testTableClassLoad_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -64232,11 +64722,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public testTableClassLoad_result setOuch2(AccumuloSecurityException ouch2) {
+    public testTableClassLoad_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -64256,11 +64747,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public testTableClassLoad_result setOuch3(TableNotFoundException ouch3) {
+    public testTableClassLoad_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -64280,7 +64772,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -64317,6 +64809,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -64480,6 +64973,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -64724,8 +65218,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new pingTabletServer_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new pingTabletServer_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tserver; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tserver; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -64743,6 +65237,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -64767,6 +65262,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64844,11 +65340,11 @@
     }
 
     public pingTabletServer_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public pingTabletServer_args setLogin(java.nio.ByteBuffer login) {
+    public pingTabletServer_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -64868,11 +65364,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTserver() {
       return this.tserver;
     }
 
-    public pingTabletServer_args setTserver(java.lang.String tserver) {
+    public pingTabletServer_args setTserver(@org.apache.thrift.annotation.Nullable java.lang.String tserver) {
       this.tserver = tserver;
       return this;
     }
@@ -64892,7 +65389,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -64917,6 +65414,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -65026,6 +65524,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -65204,8 +65703,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new pingTabletServer_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new pingTabletServer_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -65223,6 +65722,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -65247,6 +65747,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65314,11 +65815,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public pingTabletServer_result setOuch1(AccumuloException ouch1) {
+    public pingTabletServer_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -65338,11 +65840,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public pingTabletServer_result setOuch2(AccumuloSecurityException ouch2) {
+    public pingTabletServer_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -65362,7 +65865,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -65383,6 +65886,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -65492,6 +65996,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -65674,8 +66179,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getActiveScans_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getActiveScans_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tserver; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tserver; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -65693,6 +66198,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -65717,6 +66223,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65794,11 +66301,11 @@
     }
 
     public getActiveScans_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getActiveScans_args setLogin(java.nio.ByteBuffer login) {
+    public getActiveScans_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -65818,11 +66325,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTserver() {
       return this.tserver;
     }
 
-    public getActiveScans_args setTserver(java.lang.String tserver) {
+    public getActiveScans_args setTserver(@org.apache.thrift.annotation.Nullable java.lang.String tserver) {
       this.tserver = tserver;
       return this;
     }
@@ -65842,7 +66350,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -65867,6 +66375,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -65976,6 +66485,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -66155,9 +66665,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getActiveScans_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getActiveScans_resultTupleSchemeFactory();
 
-    public java.util.List<ActiveScan> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<ActiveScan> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -66176,6 +66686,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -66202,6 +66713,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -66286,6 +66798,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<ActiveScan> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -66297,11 +66810,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<ActiveScan> getSuccess() {
       return this.success;
     }
 
-    public getActiveScans_result setSuccess(java.util.List<ActiveScan> success) {
+    public getActiveScans_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<ActiveScan> success) {
       this.success = success;
       return this;
     }
@@ -66321,11 +66835,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getActiveScans_result setOuch1(AccumuloException ouch1) {
+    public getActiveScans_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -66345,11 +66860,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getActiveScans_result setOuch2(AccumuloSecurityException ouch2) {
+    public getActiveScans_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -66369,7 +66885,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -66398,6 +66914,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -66535,6 +67052,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -66623,7 +67141,7 @@
                 {
                   org.apache.thrift.protocol.TList _list364 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<ActiveScan>(_list364.size);
-                  ActiveScan _elem365;
+                  @org.apache.thrift.annotation.Nullable ActiveScan _elem365;
                   for (int _i366 = 0; _i366 < _list364.size; ++_i366)
                   {
                     _elem365 = new ActiveScan();
@@ -66745,7 +67263,7 @@
           {
             org.apache.thrift.protocol.TList _list369 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
             struct.success = new java.util.ArrayList<ActiveScan>(_list369.size);
-            ActiveScan _elem370;
+            @org.apache.thrift.annotation.Nullable ActiveScan _elem370;
             for (int _i371 = 0; _i371 < _list369.size; ++_i371)
             {
               _elem370 = new ActiveScan();
@@ -66782,8 +67300,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getActiveCompactions_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getActiveCompactions_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tserver; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tserver; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -66801,6 +67319,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -66825,6 +67344,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -66902,11 +67422,11 @@
     }
 
     public getActiveCompactions_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getActiveCompactions_args setLogin(java.nio.ByteBuffer login) {
+    public getActiveCompactions_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -66926,11 +67446,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTserver() {
       return this.tserver;
     }
 
-    public getActiveCompactions_args setTserver(java.lang.String tserver) {
+    public getActiveCompactions_args setTserver(@org.apache.thrift.annotation.Nullable java.lang.String tserver) {
       this.tserver = tserver;
       return this;
     }
@@ -66950,7 +67471,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -66975,6 +67496,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -67084,6 +67606,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -67263,9 +67786,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getActiveCompactions_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getActiveCompactions_resultTupleSchemeFactory();
 
-    public java.util.List<ActiveCompaction> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<ActiveCompaction> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -67284,6 +67807,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -67310,6 +67834,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -67394,6 +67919,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<ActiveCompaction> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -67405,11 +67931,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<ActiveCompaction> getSuccess() {
       return this.success;
     }
 
-    public getActiveCompactions_result setSuccess(java.util.List<ActiveCompaction> success) {
+    public getActiveCompactions_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<ActiveCompaction> success) {
       this.success = success;
       return this;
     }
@@ -67429,11 +67956,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getActiveCompactions_result setOuch1(AccumuloException ouch1) {
+    public getActiveCompactions_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -67453,11 +67981,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getActiveCompactions_result setOuch2(AccumuloSecurityException ouch2) {
+    public getActiveCompactions_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -67477,7 +68006,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -67506,6 +68035,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -67643,6 +68173,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -67731,7 +68262,7 @@
                 {
                   org.apache.thrift.protocol.TList _list372 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<ActiveCompaction>(_list372.size);
-                  ActiveCompaction _elem373;
+                  @org.apache.thrift.annotation.Nullable ActiveCompaction _elem373;
                   for (int _i374 = 0; _i374 < _list372.size; ++_i374)
                   {
                     _elem373 = new ActiveCompaction();
@@ -67853,7 +68384,7 @@
           {
             org.apache.thrift.protocol.TList _list377 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
             struct.success = new java.util.ArrayList<ActiveCompaction>(_list377.size);
-            ActiveCompaction _elem378;
+            @org.apache.thrift.annotation.Nullable ActiveCompaction _elem378;
             for (int _i379 = 0; _i379 < _list377.size; ++_i379)
             {
               _elem378 = new ActiveCompaction();
@@ -67889,7 +68420,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSiteConfiguration_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSiteConfiguration_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -67906,6 +68437,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -67928,6 +68460,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -67997,11 +68530,11 @@
     }
 
     public getSiteConfiguration_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getSiteConfiguration_args setLogin(java.nio.ByteBuffer login) {
+    public getSiteConfiguration_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -68021,7 +68554,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -68038,6 +68571,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -68119,6 +68653,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -68267,9 +68802,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSiteConfiguration_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSiteConfiguration_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -68288,6 +68823,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -68314,6 +68850,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -68403,11 +68940,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getSiteConfiguration_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getSiteConfiguration_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -68427,11 +68965,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getSiteConfiguration_result setOuch1(AccumuloException ouch1) {
+    public getSiteConfiguration_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -68451,11 +68990,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getSiteConfiguration_result setOuch2(AccumuloSecurityException ouch2) {
+    public getSiteConfiguration_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -68475,7 +69015,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -68504,6 +69044,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -68641,6 +69182,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -68729,8 +69271,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map380 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map380.size);
-                  java.lang.String _key381;
-                  java.lang.String _val382;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key381;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val382;
                   for (int _i383 = 0; _i383 < _map380.size; ++_i383)
                   {
                     _key381 = iprot.readString();
@@ -68854,8 +69396,8 @@
           {
             org.apache.thrift.protocol.TMap _map386 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map386.size);
-            java.lang.String _key387;
-            java.lang.String _val388;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key387;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val388;
             for (int _i389 = 0; _i389 < _map386.size; ++_i389)
             {
               _key387 = iprot.readString();
@@ -68891,7 +69433,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSystemConfiguration_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSystemConfiguration_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -68908,6 +69450,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -68930,6 +69473,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -68999,11 +69543,11 @@
     }
 
     public getSystemConfiguration_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getSystemConfiguration_args setLogin(java.nio.ByteBuffer login) {
+    public getSystemConfiguration_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -69023,7 +69567,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -69040,6 +69584,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -69121,6 +69666,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -69269,9 +69815,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSystemConfiguration_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSystemConfiguration_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -69290,6 +69836,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -69316,6 +69863,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -69405,11 +69953,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getSystemConfiguration_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getSystemConfiguration_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -69429,11 +69978,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getSystemConfiguration_result setOuch1(AccumuloException ouch1) {
+    public getSystemConfiguration_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -69453,11 +70003,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getSystemConfiguration_result setOuch2(AccumuloSecurityException ouch2) {
+    public getSystemConfiguration_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -69477,7 +70028,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -69506,6 +70057,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -69643,6 +70195,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -69731,8 +70284,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map390 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map390.size);
-                  java.lang.String _key391;
-                  java.lang.String _val392;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key391;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val392;
                   for (int _i393 = 0; _i393 < _map390.size; ++_i393)
                   {
                     _key391 = iprot.readString();
@@ -69856,8 +70409,8 @@
           {
             org.apache.thrift.protocol.TMap _map396 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map396.size);
-            java.lang.String _key397;
-            java.lang.String _val398;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key397;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val398;
             for (int _i399 = 0; _i399 < _map396.size; ++_i399)
             {
               _key397 = iprot.readString();
@@ -69893,7 +70446,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTabletServers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTabletServers_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -69910,6 +70463,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -69932,6 +70486,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -70001,11 +70556,11 @@
     }
 
     public getTabletServers_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getTabletServers_args setLogin(java.nio.ByteBuffer login) {
+    public getTabletServers_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -70025,7 +70580,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -70042,6 +70597,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -70123,6 +70679,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -70269,7 +70826,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getTabletServers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getTabletServers_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -70286,6 +70843,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -70308,6 +70866,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -70373,6 +70932,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -70384,11 +70944,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getTabletServers_result setSuccess(java.util.List<java.lang.String> success) {
+    public getTabletServers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -70408,7 +70969,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -70421,6 +70982,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -70502,6 +71064,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -70574,7 +71137,7 @@
                 {
                   org.apache.thrift.protocol.TList _list400 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list400.size);
-                  java.lang.String _elem401;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem401;
                   for (int _i402 = 0; _i402 < _list400.size; ++_i402)
                   {
                     _elem401 = iprot.readString();
@@ -70655,7 +71218,7 @@
           {
             org.apache.thrift.protocol.TList _list405 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.ArrayList<java.lang.String>(_list405.size);
-            java.lang.String _elem406;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem406;
             for (int _i407 = 0; _i407 < _list405.size; ++_i407)
             {
               _elem406 = iprot.readString();
@@ -70681,8 +71244,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeProperty_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeProperty_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String property; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String property; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -70700,6 +71263,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -70724,6 +71288,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -70801,11 +71366,11 @@
     }
 
     public removeProperty_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeProperty_args setLogin(java.nio.ByteBuffer login) {
+    public removeProperty_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -70825,11 +71390,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProperty() {
       return this.property;
     }
 
-    public removeProperty_args setProperty(java.lang.String property) {
+    public removeProperty_args setProperty(@org.apache.thrift.annotation.Nullable java.lang.String property) {
       this.property = property;
       return this;
     }
@@ -70849,7 +71415,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -70874,6 +71440,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -70983,6 +71550,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -71161,8 +71729,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeProperty_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeProperty_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -71180,6 +71748,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -71204,6 +71773,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -71271,11 +71841,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeProperty_result setOuch1(AccumuloException ouch1) {
+    public removeProperty_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -71295,11 +71866,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeProperty_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeProperty_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -71319,7 +71891,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -71340,6 +71912,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -71449,6 +72022,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -71632,9 +72206,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setProperty_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setProperty_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String property; // required
-    public java.lang.String value; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String property; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String value; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -71653,6 +72227,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -71679,6 +72254,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -71764,11 +72340,11 @@
     }
 
     public setProperty_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public setProperty_args setLogin(java.nio.ByteBuffer login) {
+    public setProperty_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -71788,11 +72364,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProperty() {
       return this.property;
     }
 
-    public setProperty_args setProperty(java.lang.String property) {
+    public setProperty_args setProperty(@org.apache.thrift.annotation.Nullable java.lang.String property) {
       this.property = property;
       return this;
     }
@@ -71812,11 +72389,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getValue() {
       return this.value;
     }
 
-    public setProperty_args setValue(java.lang.String value) {
+    public setProperty_args setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
       this.value = value;
       return this;
     }
@@ -71836,7 +72414,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -71869,6 +72447,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -72006,6 +72585,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -72215,8 +72795,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setProperty_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setProperty_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -72234,6 +72814,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -72258,6 +72839,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -72325,11 +72907,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public setProperty_result setOuch1(AccumuloException ouch1) {
+    public setProperty_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -72349,11 +72932,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public setProperty_result setOuch2(AccumuloSecurityException ouch2) {
+    public setProperty_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -72373,7 +72957,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -72394,6 +72978,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -72503,6 +73088,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -72686,9 +73272,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new testClassLoad_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new testClassLoad_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String className; // required
-    public java.lang.String asTypeName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String className; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String asTypeName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -72707,6 +73293,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -72733,6 +73320,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -72818,11 +73406,11 @@
     }
 
     public testClassLoad_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public testClassLoad_args setLogin(java.nio.ByteBuffer login) {
+    public testClassLoad_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -72842,11 +73430,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getClassName() {
       return this.className;
     }
 
-    public testClassLoad_args setClassName(java.lang.String className) {
+    public testClassLoad_args setClassName(@org.apache.thrift.annotation.Nullable java.lang.String className) {
       this.className = className;
       return this;
     }
@@ -72866,11 +73455,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAsTypeName() {
       return this.asTypeName;
     }
 
-    public testClassLoad_args setAsTypeName(java.lang.String asTypeName) {
+    public testClassLoad_args setAsTypeName(@org.apache.thrift.annotation.Nullable java.lang.String asTypeName) {
       this.asTypeName = asTypeName;
       return this;
     }
@@ -72890,7 +73480,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -72923,6 +73513,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -73060,6 +73651,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -73271,8 +73863,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new testClassLoad_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -73291,6 +73883,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -73317,6 +73910,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -73418,11 +74012,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public testClassLoad_result setOuch1(AccumuloException ouch1) {
+    public testClassLoad_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -73442,11 +74037,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public testClassLoad_result setOuch2(AccumuloSecurityException ouch2) {
+    public testClassLoad_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -73466,7 +74062,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -73495,6 +74091,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -73630,6 +74227,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -73842,9 +74440,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new authenticateUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new authenticateUser_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.util.Map<java.lang.String,java.lang.String> properties; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -73863,6 +74461,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -73889,6 +74488,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -73977,11 +74577,11 @@
     }
 
     public authenticateUser_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public authenticateUser_args setLogin(java.nio.ByteBuffer login) {
+    public authenticateUser_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -74001,11 +74601,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public authenticateUser_args setUser(java.lang.String user) {
+    public authenticateUser_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -74036,11 +74637,12 @@
       this.properties.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getProperties() {
       return this.properties;
     }
 
-    public authenticateUser_args setProperties(java.util.Map<java.lang.String,java.lang.String> properties) {
+    public authenticateUser_args setProperties(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties) {
       this.properties = properties;
       return this;
     }
@@ -74060,7 +74662,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -74093,6 +74695,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -74230,6 +74833,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -74334,8 +74938,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map408 = iprot.readMapBegin();
                   struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map408.size);
-                  java.lang.String _key409;
-                  java.lang.String _val410;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key409;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val410;
                   for (int _i411 = 0; _i411 < _map408.size; ++_i411)
                   {
                     _key409 = iprot.readString();
@@ -74449,8 +75053,8 @@
           {
             org.apache.thrift.protocol.TMap _map414 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map414.size);
-            java.lang.String _key415;
-            java.lang.String _val416;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key415;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val416;
             for (int _i417 = 0; _i417 < _map414.size; ++_i417)
             {
               _key415 = iprot.readString();
@@ -74479,8 +75083,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new authenticateUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -74499,6 +75103,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -74525,6 +75130,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -74626,11 +75232,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public authenticateUser_result setOuch1(AccumuloException ouch1) {
+    public authenticateUser_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -74650,11 +75257,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public authenticateUser_result setOuch2(AccumuloSecurityException ouch2) {
+    public authenticateUser_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -74674,7 +75282,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -74703,6 +75311,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -74838,6 +75447,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -75050,9 +75660,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeUserAuthorizations_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeUserAuthorizations_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.util.Set<java.nio.ByteBuffer> authorizations; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75071,6 +75681,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -75097,6 +75708,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -75184,11 +75796,11 @@
     }
 
     public changeUserAuthorizations_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public changeUserAuthorizations_args setLogin(java.nio.ByteBuffer login) {
+    public changeUserAuthorizations_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -75208,11 +75820,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public changeUserAuthorizations_args setUser(java.lang.String user) {
+    public changeUserAuthorizations_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -75236,6 +75849,7 @@
       return (this.authorizations == null) ? 0 : this.authorizations.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.nio.ByteBuffer> getAuthorizationsIterator() {
       return (this.authorizations == null) ? null : this.authorizations.iterator();
     }
@@ -75247,11 +75861,12 @@
       this.authorizations.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.nio.ByteBuffer> getAuthorizations() {
       return this.authorizations;
     }
 
-    public changeUserAuthorizations_args setAuthorizations(java.util.Set<java.nio.ByteBuffer> authorizations) {
+    public changeUserAuthorizations_args setAuthorizations(@org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations) {
       this.authorizations = authorizations;
       return this;
     }
@@ -75271,7 +75886,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -75304,6 +75919,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -75441,6 +76057,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -75545,7 +76162,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set418 = iprot.readSetBegin();
                   struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set418.size);
-                  java.nio.ByteBuffer _elem419;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem419;
                   for (int _i420 = 0; _i420 < _set418.size; ++_i420)
                   {
                     _elem419 = iprot.readBinary();
@@ -75656,7 +76273,7 @@
           {
             org.apache.thrift.protocol.TSet _set423 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set423.size);
-            java.nio.ByteBuffer _elem424;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem424;
             for (int _i425 = 0; _i425 < _set423.size; ++_i425)
             {
               _elem424 = iprot.readBinary();
@@ -75682,8 +76299,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeUserAuthorizations_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeUserAuthorizations_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75701,6 +76318,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -75725,6 +76343,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -75792,11 +76411,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public changeUserAuthorizations_result setOuch1(AccumuloException ouch1) {
+    public changeUserAuthorizations_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -75816,11 +76436,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public changeUserAuthorizations_result setOuch2(AccumuloSecurityException ouch2) {
+    public changeUserAuthorizations_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -75840,7 +76461,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -75861,6 +76482,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -75970,6 +76592,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -76153,9 +76776,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeLocalUserPassword_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeLocalUserPassword_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.nio.ByteBuffer password; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer password; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -76174,6 +76797,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -76200,6 +76824,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -76285,11 +76910,11 @@
     }
 
     public changeLocalUserPassword_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public changeLocalUserPassword_args setLogin(java.nio.ByteBuffer login) {
+    public changeLocalUserPassword_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -76309,11 +76934,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public changeLocalUserPassword_args setUser(java.lang.String user) {
+    public changeLocalUserPassword_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -76343,11 +76969,11 @@
     }
 
     public changeLocalUserPassword_args setPassword(byte[] password) {
-      this.password = password == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(password.clone());
+      this.password = password == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(password.clone());
       return this;
     }
 
-    public changeLocalUserPassword_args setPassword(java.nio.ByteBuffer password) {
+    public changeLocalUserPassword_args setPassword(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer password) {
       this.password = org.apache.thrift.TBaseHelper.copyBinary(password);
       return this;
     }
@@ -76367,7 +76993,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -76404,6 +77030,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -76541,6 +77168,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -76750,8 +77378,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeLocalUserPassword_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeLocalUserPassword_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -76769,6 +77397,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -76793,6 +77422,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -76860,11 +77490,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public changeLocalUserPassword_result setOuch1(AccumuloException ouch1) {
+    public changeLocalUserPassword_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -76884,11 +77515,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public changeLocalUserPassword_result setOuch2(AccumuloSecurityException ouch2) {
+    public changeLocalUserPassword_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -76908,7 +77540,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -76929,6 +77561,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -77038,6 +77671,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -77221,9 +77855,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createLocalUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createLocalUser_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.nio.ByteBuffer password; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer password; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -77242,6 +77876,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -77268,6 +77903,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -77353,11 +77989,11 @@
     }
 
     public createLocalUser_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createLocalUser_args setLogin(java.nio.ByteBuffer login) {
+    public createLocalUser_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -77377,11 +78013,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public createLocalUser_args setUser(java.lang.String user) {
+    public createLocalUser_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -77411,11 +78048,11 @@
     }
 
     public createLocalUser_args setPassword(byte[] password) {
-      this.password = password == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(password.clone());
+      this.password = password == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(password.clone());
       return this;
     }
 
-    public createLocalUser_args setPassword(java.nio.ByteBuffer password) {
+    public createLocalUser_args setPassword(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer password) {
       this.password = org.apache.thrift.TBaseHelper.copyBinary(password);
       return this;
     }
@@ -77435,7 +78072,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -77472,6 +78109,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -77609,6 +78247,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -77818,8 +78457,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createLocalUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createLocalUser_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -77837,6 +78476,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -77861,6 +78501,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -77928,11 +78569,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public createLocalUser_result setOuch1(AccumuloException ouch1) {
+    public createLocalUser_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -77952,11 +78594,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createLocalUser_result setOuch2(AccumuloSecurityException ouch2) {
+    public createLocalUser_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -77976,7 +78619,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -77997,6 +78640,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -78106,6 +78750,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -78288,8 +78933,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dropLocalUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dropLocalUser_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -78307,6 +78952,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -78331,6 +78977,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -78408,11 +79055,11 @@
     }
 
     public dropLocalUser_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public dropLocalUser_args setLogin(java.nio.ByteBuffer login) {
+    public dropLocalUser_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -78432,11 +79079,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public dropLocalUser_args setUser(java.lang.String user) {
+    public dropLocalUser_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -78456,7 +79104,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -78481,6 +79129,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -78590,6 +79239,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -78768,8 +79418,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new dropLocalUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new dropLocalUser_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -78787,6 +79437,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -78811,6 +79462,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -78878,11 +79530,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public dropLocalUser_result setOuch1(AccumuloException ouch1) {
+    public dropLocalUser_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -78902,11 +79555,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public dropLocalUser_result setOuch2(AccumuloSecurityException ouch2) {
+    public dropLocalUser_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -78926,7 +79580,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -78947,6 +79601,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -79056,6 +79711,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -79238,8 +79894,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserAuthorizations_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserAuthorizations_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -79257,6 +79913,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -79281,6 +79938,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -79358,11 +80016,11 @@
     }
 
     public getUserAuthorizations_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getUserAuthorizations_args setLogin(java.nio.ByteBuffer login) {
+    public getUserAuthorizations_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -79382,11 +80040,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public getUserAuthorizations_args setUser(java.lang.String user) {
+    public getUserAuthorizations_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -79406,7 +80065,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -79431,6 +80090,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -79540,6 +80200,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -79719,9 +80380,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserAuthorizations_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserAuthorizations_resultTupleSchemeFactory();
 
-    public java.util.List<java.nio.ByteBuffer> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.nio.ByteBuffer> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -79740,6 +80401,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -79766,6 +80428,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -79847,6 +80510,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.nio.ByteBuffer> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -79858,11 +80522,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.nio.ByteBuffer> getSuccess() {
       return this.success;
     }
 
-    public getUserAuthorizations_result setSuccess(java.util.List<java.nio.ByteBuffer> success) {
+    public getUserAuthorizations_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.nio.ByteBuffer> success) {
       this.success = success;
       return this;
     }
@@ -79882,11 +80547,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getUserAuthorizations_result setOuch1(AccumuloException ouch1) {
+    public getUserAuthorizations_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -79906,11 +80572,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getUserAuthorizations_result setOuch2(AccumuloSecurityException ouch2) {
+    public getUserAuthorizations_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -79930,7 +80597,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -79959,6 +80626,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -80096,6 +80764,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -80184,7 +80853,7 @@
                 {
                   org.apache.thrift.protocol.TList _list426 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.nio.ByteBuffer>(_list426.size);
-                  java.nio.ByteBuffer _elem427;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem427;
                   for (int _i428 = 0; _i428 < _list426.size; ++_i428)
                   {
                     _elem427 = iprot.readBinary();
@@ -80305,7 +80974,7 @@
           {
             org.apache.thrift.protocol.TList _list431 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.ArrayList<java.nio.ByteBuffer>(_list431.size);
-            java.nio.ByteBuffer _elem432;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem432;
             for (int _i433 = 0; _i433 < _list431.size; ++_i433)
             {
               _elem432 = iprot.readBinary();
@@ -80342,13 +81011,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new grantSystemPermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new grantSystemPermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
     /**
      * 
      * @see SystemPermission
      */
-    public SystemPermission perm; // required
+    public @org.apache.thrift.annotation.Nullable SystemPermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -80371,6 +81040,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -80397,6 +81067,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -80482,11 +81153,11 @@
     }
 
     public grantSystemPermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public grantSystemPermission_args setLogin(java.nio.ByteBuffer login) {
+    public grantSystemPermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -80506,11 +81177,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public grantSystemPermission_args setUser(java.lang.String user) {
+    public grantSystemPermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -80534,6 +81206,7 @@
      * 
      * @see SystemPermission
      */
+    @org.apache.thrift.annotation.Nullable
     public SystemPermission getPerm() {
       return this.perm;
     }
@@ -80542,7 +81215,7 @@
      * 
      * @see SystemPermission
      */
-    public grantSystemPermission_args setPerm(SystemPermission perm) {
+    public grantSystemPermission_args setPerm(@org.apache.thrift.annotation.Nullable SystemPermission perm) {
       this.perm = perm;
       return this;
     }
@@ -80562,7 +81235,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -80595,6 +81268,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -80732,6 +81406,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -80941,8 +81616,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new grantSystemPermission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new grantSystemPermission_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -80960,6 +81635,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -80984,6 +81660,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81051,11 +81728,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public grantSystemPermission_result setOuch1(AccumuloException ouch1) {
+    public grantSystemPermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -81075,11 +81753,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public grantSystemPermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public grantSystemPermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -81099,7 +81778,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -81120,6 +81799,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -81229,6 +81909,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -81413,14 +82094,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new grantTablePermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new grantTablePermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.lang.String table; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String table; // required
     /**
      * 
      * @see TablePermission
      */
-    public TablePermission perm; // required
+    public @org.apache.thrift.annotation.Nullable TablePermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -81444,6 +82125,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -81472,6 +82154,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81565,11 +82248,11 @@
     }
 
     public grantTablePermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public grantTablePermission_args setLogin(java.nio.ByteBuffer login) {
+    public grantTablePermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -81589,11 +82272,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public grantTablePermission_args setUser(java.lang.String user) {
+    public grantTablePermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -81613,11 +82297,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTable() {
       return this.table;
     }
 
-    public grantTablePermission_args setTable(java.lang.String table) {
+    public grantTablePermission_args setTable(@org.apache.thrift.annotation.Nullable java.lang.String table) {
       this.table = table;
       return this;
     }
@@ -81641,6 +82326,7 @@
      * 
      * @see TablePermission
      */
+    @org.apache.thrift.annotation.Nullable
     public TablePermission getPerm() {
       return this.perm;
     }
@@ -81649,7 +82335,7 @@
      * 
      * @see TablePermission
      */
-    public grantTablePermission_args setPerm(TablePermission perm) {
+    public grantTablePermission_args setPerm(@org.apache.thrift.annotation.Nullable TablePermission perm) {
       this.perm = perm;
       return this;
     }
@@ -81669,7 +82355,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -81710,6 +82396,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -81875,6 +82562,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -82116,9 +82804,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new grantTablePermission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new grantTablePermission_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -82137,6 +82825,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -82163,6 +82852,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -82238,11 +82928,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public grantTablePermission_result setOuch1(AccumuloException ouch1) {
+    public grantTablePermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -82262,11 +82953,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public grantTablePermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public grantTablePermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -82286,11 +82978,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public grantTablePermission_result setOuch3(TableNotFoundException ouch3) {
+    public grantTablePermission_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -82310,7 +83003,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -82339,6 +83032,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -82476,6 +83170,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -82692,13 +83387,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasSystemPermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasSystemPermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
     /**
      * 
      * @see SystemPermission
      */
-    public SystemPermission perm; // required
+    public @org.apache.thrift.annotation.Nullable SystemPermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -82721,6 +83416,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -82747,6 +83443,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -82832,11 +83529,11 @@
     }
 
     public hasSystemPermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public hasSystemPermission_args setLogin(java.nio.ByteBuffer login) {
+    public hasSystemPermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -82856,11 +83553,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public hasSystemPermission_args setUser(java.lang.String user) {
+    public hasSystemPermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -82884,6 +83582,7 @@
      * 
      * @see SystemPermission
      */
+    @org.apache.thrift.annotation.Nullable
     public SystemPermission getPerm() {
       return this.perm;
     }
@@ -82892,7 +83591,7 @@
      * 
      * @see SystemPermission
      */
-    public hasSystemPermission_args setPerm(SystemPermission perm) {
+    public hasSystemPermission_args setPerm(@org.apache.thrift.annotation.Nullable SystemPermission perm) {
       this.perm = perm;
       return this;
     }
@@ -82912,7 +83611,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -82945,6 +83644,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -83082,6 +83782,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -83293,8 +83994,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasSystemPermission_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -83313,6 +84014,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -83339,6 +84041,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -83440,11 +84143,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public hasSystemPermission_result setOuch1(AccumuloException ouch1) {
+    public hasSystemPermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -83464,11 +84168,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public hasSystemPermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public hasSystemPermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -83488,7 +84193,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -83517,6 +84222,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -83652,6 +84358,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -83865,14 +84572,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasTablePermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasTablePermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.lang.String table; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String table; // required
     /**
      * 
      * @see TablePermission
      */
-    public TablePermission perm; // required
+    public @org.apache.thrift.annotation.Nullable TablePermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -83896,6 +84603,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -83924,6 +84632,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -84017,11 +84726,11 @@
     }
 
     public hasTablePermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public hasTablePermission_args setLogin(java.nio.ByteBuffer login) {
+    public hasTablePermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -84041,11 +84750,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public hasTablePermission_args setUser(java.lang.String user) {
+    public hasTablePermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -84065,11 +84775,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTable() {
       return this.table;
     }
 
-    public hasTablePermission_args setTable(java.lang.String table) {
+    public hasTablePermission_args setTable(@org.apache.thrift.annotation.Nullable java.lang.String table) {
       this.table = table;
       return this;
     }
@@ -84093,6 +84804,7 @@
      * 
      * @see TablePermission
      */
+    @org.apache.thrift.annotation.Nullable
     public TablePermission getPerm() {
       return this.perm;
     }
@@ -84101,7 +84813,7 @@
      * 
      * @see TablePermission
      */
-    public hasTablePermission_args setPerm(TablePermission perm) {
+    public hasTablePermission_args setPerm(@org.apache.thrift.annotation.Nullable TablePermission perm) {
       this.perm = perm;
       return this;
     }
@@ -84121,7 +84833,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -84162,6 +84874,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -84327,6 +85040,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -84570,9 +85284,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasTablePermission_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -84592,6 +85306,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -84620,6 +85335,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -84729,11 +85445,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public hasTablePermission_result setOuch1(AccumuloException ouch1) {
+    public hasTablePermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -84753,11 +85470,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public hasTablePermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public hasTablePermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -84777,11 +85495,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public hasTablePermission_result setOuch3(TableNotFoundException ouch3) {
+    public hasTablePermission_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -84801,7 +85520,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -84838,6 +85557,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -85001,6 +85721,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -85244,7 +85965,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listLocalUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listLocalUsers_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -85261,6 +85982,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -85283,6 +86005,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -85352,11 +86075,11 @@
     }
 
     public listLocalUsers_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listLocalUsers_args setLogin(java.nio.ByteBuffer login) {
+    public listLocalUsers_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -85376,7 +86099,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -85393,6 +86116,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -85474,6 +86198,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -85623,10 +86348,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listLocalUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listLocalUsers_resultTupleSchemeFactory();
 
-    public java.util.Set<java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -85646,6 +86371,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -85674,6 +86400,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -85763,6 +86490,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -85774,11 +86502,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public listLocalUsers_result setSuccess(java.util.Set<java.lang.String> success) {
+    public listLocalUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Set<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -85798,11 +86527,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listLocalUsers_result setOuch1(AccumuloException ouch1) {
+    public listLocalUsers_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -85822,11 +86552,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listLocalUsers_result setOuch2(AccumuloSecurityException ouch2) {
+    public listLocalUsers_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -85846,11 +86577,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public listLocalUsers_result setOuch3(TableNotFoundException ouch3) {
+    public listLocalUsers_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -85870,7 +86602,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -85907,6 +86639,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -86072,6 +86805,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -86168,7 +86902,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set434 = iprot.readSetBegin();
                   struct.success = new java.util.HashSet<java.lang.String>(2*_set434.size);
-                  java.lang.String _elem435;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem435;
                   for (int _i436 = 0; _i436 < _set434.size; ++_i436)
                   {
                     _elem435 = iprot.readString();
@@ -86309,7 +87043,7 @@
           {
             org.apache.thrift.protocol.TSet _set439 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashSet<java.lang.String>(2*_set439.size);
-            java.lang.String _elem440;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem440;
             for (int _i441 = 0; _i441 < _set439.size; ++_i441)
             {
               _elem440 = iprot.readString();
@@ -86351,13 +87085,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeSystemPermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeSystemPermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
     /**
      * 
      * @see SystemPermission
      */
-    public SystemPermission perm; // required
+    public @org.apache.thrift.annotation.Nullable SystemPermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -86380,6 +87114,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -86406,6 +87141,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -86491,11 +87227,11 @@
     }
 
     public revokeSystemPermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public revokeSystemPermission_args setLogin(java.nio.ByteBuffer login) {
+    public revokeSystemPermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -86515,11 +87251,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public revokeSystemPermission_args setUser(java.lang.String user) {
+    public revokeSystemPermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -86543,6 +87280,7 @@
      * 
      * @see SystemPermission
      */
+    @org.apache.thrift.annotation.Nullable
     public SystemPermission getPerm() {
       return this.perm;
     }
@@ -86551,7 +87289,7 @@
      * 
      * @see SystemPermission
      */
-    public revokeSystemPermission_args setPerm(SystemPermission perm) {
+    public revokeSystemPermission_args setPerm(@org.apache.thrift.annotation.Nullable SystemPermission perm) {
       this.perm = perm;
       return this;
     }
@@ -86571,7 +87309,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -86604,6 +87342,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -86741,6 +87480,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -86950,8 +87690,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeSystemPermission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeSystemPermission_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -86969,6 +87709,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -86993,6 +87734,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -87060,11 +87802,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public revokeSystemPermission_result setOuch1(AccumuloException ouch1) {
+    public revokeSystemPermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -87084,11 +87827,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public revokeSystemPermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public revokeSystemPermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -87108,7 +87852,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -87129,6 +87873,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -87238,6 +87983,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -87422,14 +88168,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeTablePermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeTablePermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.lang.String table; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String table; // required
     /**
      * 
      * @see TablePermission
      */
-    public TablePermission perm; // required
+    public @org.apache.thrift.annotation.Nullable TablePermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -87453,6 +88199,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -87481,6 +88228,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -87574,11 +88322,11 @@
     }
 
     public revokeTablePermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public revokeTablePermission_args setLogin(java.nio.ByteBuffer login) {
+    public revokeTablePermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -87598,11 +88346,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public revokeTablePermission_args setUser(java.lang.String user) {
+    public revokeTablePermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -87622,11 +88371,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTable() {
       return this.table;
     }
 
-    public revokeTablePermission_args setTable(java.lang.String table) {
+    public revokeTablePermission_args setTable(@org.apache.thrift.annotation.Nullable java.lang.String table) {
       this.table = table;
       return this;
     }
@@ -87650,6 +88400,7 @@
      * 
      * @see TablePermission
      */
+    @org.apache.thrift.annotation.Nullable
     public TablePermission getPerm() {
       return this.perm;
     }
@@ -87658,7 +88409,7 @@
      * 
      * @see TablePermission
      */
-    public revokeTablePermission_args setPerm(TablePermission perm) {
+    public revokeTablePermission_args setPerm(@org.apache.thrift.annotation.Nullable TablePermission perm) {
       this.perm = perm;
       return this;
     }
@@ -87678,7 +88429,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -87719,6 +88470,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -87884,6 +88636,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -88125,9 +88878,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeTablePermission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeTablePermission_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -88146,6 +88899,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -88172,6 +88926,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -88247,11 +89002,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public revokeTablePermission_result setOuch1(AccumuloException ouch1) {
+    public revokeTablePermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -88271,11 +89027,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public revokeTablePermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public revokeTablePermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -88295,11 +89052,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public revokeTablePermission_result setOuch3(TableNotFoundException ouch3) {
+    public revokeTablePermission_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -88319,7 +89077,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -88348,6 +89106,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -88485,6 +89244,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -88702,14 +89462,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new grantNamespacePermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new grantNamespacePermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
     /**
      * 
      * @see NamespacePermission
      */
-    public NamespacePermission perm; // required
+    public @org.apache.thrift.annotation.Nullable NamespacePermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -88733,6 +89493,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -88761,6 +89522,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -88854,11 +89616,11 @@
     }
 
     public grantNamespacePermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public grantNamespacePermission_args setLogin(java.nio.ByteBuffer login) {
+    public grantNamespacePermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -88878,11 +89640,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public grantNamespacePermission_args setUser(java.lang.String user) {
+    public grantNamespacePermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -88902,11 +89665,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public grantNamespacePermission_args setNamespaceName(java.lang.String namespaceName) {
+    public grantNamespacePermission_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -88930,6 +89694,7 @@
      * 
      * @see NamespacePermission
      */
+    @org.apache.thrift.annotation.Nullable
     public NamespacePermission getPerm() {
       return this.perm;
     }
@@ -88938,7 +89703,7 @@
      * 
      * @see NamespacePermission
      */
-    public grantNamespacePermission_args setPerm(NamespacePermission perm) {
+    public grantNamespacePermission_args setPerm(@org.apache.thrift.annotation.Nullable NamespacePermission perm) {
       this.perm = perm;
       return this;
     }
@@ -88958,7 +89723,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -88999,6 +89764,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -89164,6 +89930,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -89404,8 +90171,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new grantNamespacePermission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new grantNamespacePermission_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -89423,6 +90190,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -89447,6 +90215,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -89514,11 +90283,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public grantNamespacePermission_result setOuch1(AccumuloException ouch1) {
+    public grantNamespacePermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -89538,11 +90308,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public grantNamespacePermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public grantNamespacePermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -89562,7 +90333,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -89583,6 +90354,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -89692,6 +90464,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -89876,14 +90649,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasNamespacePermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasNamespacePermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
     /**
      * 
      * @see NamespacePermission
      */
-    public NamespacePermission perm; // required
+    public @org.apache.thrift.annotation.Nullable NamespacePermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -89907,6 +90680,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -89935,6 +90709,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -90028,11 +90803,11 @@
     }
 
     public hasNamespacePermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public hasNamespacePermission_args setLogin(java.nio.ByteBuffer login) {
+    public hasNamespacePermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -90052,11 +90827,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public hasNamespacePermission_args setUser(java.lang.String user) {
+    public hasNamespacePermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -90076,11 +90852,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public hasNamespacePermission_args setNamespaceName(java.lang.String namespaceName) {
+    public hasNamespacePermission_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -90104,6 +90881,7 @@
      * 
      * @see NamespacePermission
      */
+    @org.apache.thrift.annotation.Nullable
     public NamespacePermission getPerm() {
       return this.perm;
     }
@@ -90112,7 +90890,7 @@
      * 
      * @see NamespacePermission
      */
-    public hasNamespacePermission_args setPerm(NamespacePermission perm) {
+    public hasNamespacePermission_args setPerm(@org.apache.thrift.annotation.Nullable NamespacePermission perm) {
       this.perm = perm;
       return this;
     }
@@ -90132,7 +90910,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -90173,6 +90951,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -90338,6 +91117,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -90580,8 +91360,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasNamespacePermission_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -90600,6 +91380,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -90626,6 +91407,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -90727,11 +91509,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public hasNamespacePermission_result setOuch1(AccumuloException ouch1) {
+    public hasNamespacePermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -90751,11 +91534,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public hasNamespacePermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public hasNamespacePermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -90775,7 +91559,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -90804,6 +91588,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -90939,6 +91724,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -91152,14 +91938,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeNamespacePermission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeNamespacePermission_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String user; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
     /**
      * 
      * @see NamespacePermission
      */
-    public NamespacePermission perm; // required
+    public @org.apache.thrift.annotation.Nullable NamespacePermission perm; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -91183,6 +91969,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -91211,6 +91998,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -91304,11 +92092,11 @@
     }
 
     public revokeNamespacePermission_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public revokeNamespacePermission_args setLogin(java.nio.ByteBuffer login) {
+    public revokeNamespacePermission_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -91328,11 +92116,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUser() {
       return this.user;
     }
 
-    public revokeNamespacePermission_args setUser(java.lang.String user) {
+    public revokeNamespacePermission_args setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
       this.user = user;
       return this;
     }
@@ -91352,11 +92141,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public revokeNamespacePermission_args setNamespaceName(java.lang.String namespaceName) {
+    public revokeNamespacePermission_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -91380,6 +92170,7 @@
      * 
      * @see NamespacePermission
      */
+    @org.apache.thrift.annotation.Nullable
     public NamespacePermission getPerm() {
       return this.perm;
     }
@@ -91388,7 +92179,7 @@
      * 
      * @see NamespacePermission
      */
-    public revokeNamespacePermission_args setPerm(NamespacePermission perm) {
+    public revokeNamespacePermission_args setPerm(@org.apache.thrift.annotation.Nullable NamespacePermission perm) {
       this.perm = perm;
       return this;
     }
@@ -91408,7 +92199,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -91449,6 +92240,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -91614,6 +92406,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -91854,8 +92647,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeNamespacePermission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeNamespacePermission_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -91873,6 +92666,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -91897,6 +92691,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -91964,11 +92759,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public revokeNamespacePermission_result setOuch1(AccumuloException ouch1) {
+    public revokeNamespacePermission_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -91988,11 +92784,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public revokeNamespacePermission_result setOuch2(AccumuloSecurityException ouch2) {
+    public revokeNamespacePermission_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -92012,7 +92809,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -92033,6 +92830,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -92142,6 +92940,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -92325,9 +93124,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createBatchScanner_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createBatchScanner_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public BatchScanOptions options; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable BatchScanOptions options; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -92346,6 +93145,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -92372,6 +93172,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -92457,11 +93258,11 @@
     }
 
     public createBatchScanner_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createBatchScanner_args setLogin(java.nio.ByteBuffer login) {
+    public createBatchScanner_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -92481,11 +93282,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public createBatchScanner_args setTableName(java.lang.String tableName) {
+    public createBatchScanner_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -92505,11 +93307,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public BatchScanOptions getOptions() {
       return this.options;
     }
 
-    public createBatchScanner_args setOptions(BatchScanOptions options) {
+    public createBatchScanner_args setOptions(@org.apache.thrift.annotation.Nullable BatchScanOptions options) {
       this.options = options;
       return this;
     }
@@ -92529,7 +93332,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -92562,6 +93365,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -92699,6 +93503,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -92915,10 +93720,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createBatchScanner_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createBatchScanner_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -92938,6 +93743,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -92966,6 +93772,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -93049,11 +93856,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createBatchScanner_result setSuccess(java.lang.String success) {
+    public createBatchScanner_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -93073,11 +93881,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public createBatchScanner_result setOuch1(AccumuloException ouch1) {
+    public createBatchScanner_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -93097,11 +93906,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createBatchScanner_result setOuch2(AccumuloSecurityException ouch2) {
+    public createBatchScanner_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -93121,11 +93931,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public createBatchScanner_result setOuch3(TableNotFoundException ouch3) {
+    public createBatchScanner_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -93145,7 +93956,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -93182,6 +93993,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -93347,6 +94159,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -93594,9 +94407,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createScanner_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createScanner_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public ScanOptions options; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable ScanOptions options; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -93615,6 +94428,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -93641,6 +94455,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -93726,11 +94541,11 @@
     }
 
     public createScanner_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createScanner_args setLogin(java.nio.ByteBuffer login) {
+    public createScanner_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -93750,11 +94565,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public createScanner_args setTableName(java.lang.String tableName) {
+    public createScanner_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -93774,11 +94590,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public ScanOptions getOptions() {
       return this.options;
     }
 
-    public createScanner_args setOptions(ScanOptions options) {
+    public createScanner_args setOptions(@org.apache.thrift.annotation.Nullable ScanOptions options) {
       this.options = options;
       return this;
     }
@@ -93798,7 +94615,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -93831,6 +94648,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -93968,6 +94786,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -94184,10 +95003,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createScanner_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createScanner_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -94207,6 +95026,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -94235,6 +95055,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -94318,11 +95139,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createScanner_result setSuccess(java.lang.String success) {
+    public createScanner_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -94342,11 +95164,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public createScanner_result setOuch1(AccumuloException ouch1) {
+    public createScanner_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -94366,11 +95189,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createScanner_result setOuch2(AccumuloSecurityException ouch2) {
+    public createScanner_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -94390,11 +95214,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public createScanner_result setOuch3(TableNotFoundException ouch3) {
+    public createScanner_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -94414,7 +95239,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -94451,6 +95276,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -94616,6 +95442,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -94861,7 +95688,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasNext_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasNext_argsTupleSchemeFactory();
 
-    public java.lang.String scanner; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String scanner; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -94878,6 +95705,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // SCANNER
@@ -94900,6 +95728,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -94959,11 +95788,12 @@
       this.scanner = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getScanner() {
       return this.scanner;
     }
 
-    public hasNext_args setScanner(java.lang.String scanner) {
+    public hasNext_args setScanner(@org.apache.thrift.annotation.Nullable java.lang.String scanner) {
       this.scanner = scanner;
       return this;
     }
@@ -94983,7 +95813,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SCANNER:
         if (value == null) {
@@ -94996,6 +95826,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SCANNER:
@@ -95077,6 +95908,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -95225,7 +96057,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasNext_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public UnknownScanner ouch1; // required
+    public @org.apache.thrift.annotation.Nullable UnknownScanner ouch1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -95243,6 +96075,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -95267,6 +96100,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -95360,11 +96194,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownScanner getOuch1() {
       return this.ouch1;
     }
 
-    public hasNext_result setOuch1(UnknownScanner ouch1) {
+    public hasNext_result setOuch1(@org.apache.thrift.annotation.Nullable UnknownScanner ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -95384,7 +96219,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -95405,6 +96240,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -95512,6 +96348,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -95689,7 +96526,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new nextEntry_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new nextEntry_argsTupleSchemeFactory();
 
-    public java.lang.String scanner; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String scanner; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -95706,6 +96543,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // SCANNER
@@ -95728,6 +96566,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -95787,11 +96626,12 @@
       this.scanner = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getScanner() {
       return this.scanner;
     }
 
-    public nextEntry_args setScanner(java.lang.String scanner) {
+    public nextEntry_args setScanner(@org.apache.thrift.annotation.Nullable java.lang.String scanner) {
       this.scanner = scanner;
       return this;
     }
@@ -95811,7 +96651,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SCANNER:
         if (value == null) {
@@ -95824,6 +96664,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SCANNER:
@@ -95905,6 +96746,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -96054,10 +96896,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new nextEntry_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new nextEntry_resultTupleSchemeFactory();
 
-    public KeyValueAndPeek success; // required
-    public NoMoreEntriesException ouch1; // required
-    public UnknownScanner ouch2; // required
-    public AccumuloSecurityException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable KeyValueAndPeek success; // required
+    public @org.apache.thrift.annotation.Nullable NoMoreEntriesException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable UnknownScanner ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -96077,6 +96919,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -96105,6 +96948,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -96188,11 +97032,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public KeyValueAndPeek getSuccess() {
       return this.success;
     }
 
-    public nextEntry_result setSuccess(KeyValueAndPeek success) {
+    public nextEntry_result setSuccess(@org.apache.thrift.annotation.Nullable KeyValueAndPeek success) {
       this.success = success;
       return this;
     }
@@ -96212,11 +97057,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NoMoreEntriesException getOuch1() {
       return this.ouch1;
     }
 
-    public nextEntry_result setOuch1(NoMoreEntriesException ouch1) {
+    public nextEntry_result setOuch1(@org.apache.thrift.annotation.Nullable NoMoreEntriesException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -96236,11 +97082,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownScanner getOuch2() {
       return this.ouch2;
     }
 
-    public nextEntry_result setOuch2(UnknownScanner ouch2) {
+    public nextEntry_result setOuch2(@org.apache.thrift.annotation.Nullable UnknownScanner ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -96260,11 +97107,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch3() {
       return this.ouch3;
     }
 
-    public nextEntry_result setOuch3(AccumuloSecurityException ouch3) {
+    public nextEntry_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -96284,7 +97132,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -96321,6 +97169,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -96486,6 +97335,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -96737,7 +97587,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new nextK_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new nextK_argsTupleSchemeFactory();
 
-    public java.lang.String scanner; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String scanner; // required
     public int k; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -96756,6 +97606,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // SCANNER
@@ -96780,6 +97631,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -96850,11 +97702,12 @@
       this.k = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getScanner() {
       return this.scanner;
     }
 
-    public nextK_args setScanner(java.lang.String scanner) {
+    public nextK_args setScanner(@org.apache.thrift.annotation.Nullable java.lang.String scanner) {
       this.scanner = scanner;
       return this;
     }
@@ -96897,7 +97750,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __K_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SCANNER:
         if (value == null) {
@@ -96918,6 +97771,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SCANNER:
@@ -97025,6 +97879,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -97201,10 +98056,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new nextK_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new nextK_resultTupleSchemeFactory();
 
-    public ScanResult success; // required
-    public NoMoreEntriesException ouch1; // required
-    public UnknownScanner ouch2; // required
-    public AccumuloSecurityException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable ScanResult success; // required
+    public @org.apache.thrift.annotation.Nullable NoMoreEntriesException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable UnknownScanner ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -97224,6 +98079,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -97252,6 +98108,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -97335,11 +98192,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public ScanResult getSuccess() {
       return this.success;
     }
 
-    public nextK_result setSuccess(ScanResult success) {
+    public nextK_result setSuccess(@org.apache.thrift.annotation.Nullable ScanResult success) {
       this.success = success;
       return this;
     }
@@ -97359,11 +98217,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NoMoreEntriesException getOuch1() {
       return this.ouch1;
     }
 
-    public nextK_result setOuch1(NoMoreEntriesException ouch1) {
+    public nextK_result setOuch1(@org.apache.thrift.annotation.Nullable NoMoreEntriesException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -97383,11 +98242,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownScanner getOuch2() {
       return this.ouch2;
     }
 
-    public nextK_result setOuch2(UnknownScanner ouch2) {
+    public nextK_result setOuch2(@org.apache.thrift.annotation.Nullable UnknownScanner ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -97407,11 +98267,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch3() {
       return this.ouch3;
     }
 
-    public nextK_result setOuch3(AccumuloSecurityException ouch3) {
+    public nextK_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -97431,7 +98292,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -97468,6 +98329,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -97633,6 +98495,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -97883,7 +98746,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new closeScanner_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new closeScanner_argsTupleSchemeFactory();
 
-    public java.lang.String scanner; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String scanner; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -97900,6 +98763,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // SCANNER
@@ -97922,6 +98786,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -97981,11 +98846,12 @@
       this.scanner = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getScanner() {
       return this.scanner;
     }
 
-    public closeScanner_args setScanner(java.lang.String scanner) {
+    public closeScanner_args setScanner(@org.apache.thrift.annotation.Nullable java.lang.String scanner) {
       this.scanner = scanner;
       return this;
     }
@@ -98005,7 +98871,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SCANNER:
         if (value == null) {
@@ -98018,6 +98884,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SCANNER:
@@ -98099,6 +98966,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -98245,7 +99113,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new closeScanner_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new closeScanner_resultTupleSchemeFactory();
 
-    public UnknownScanner ouch1; // required
+    public @org.apache.thrift.annotation.Nullable UnknownScanner ouch1; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -98262,6 +99130,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -98284,6 +99153,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -98343,11 +99213,12 @@
       this.ouch1 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownScanner getOuch1() {
       return this.ouch1;
     }
 
-    public closeScanner_result setOuch1(UnknownScanner ouch1) {
+    public closeScanner_result setOuch1(@org.apache.thrift.annotation.Nullable UnknownScanner ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -98367,7 +99238,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -98380,6 +99251,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -98461,6 +99333,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -98611,9 +99484,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateAndFlush_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateAndFlush_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -98632,6 +99505,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -98658,6 +99532,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -98761,11 +99636,11 @@
     }
 
     public updateAndFlush_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public updateAndFlush_args setLogin(java.nio.ByteBuffer login) {
+    public updateAndFlush_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -98785,11 +99660,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public updateAndFlush_args setTableName(java.lang.String tableName) {
+    public updateAndFlush_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -98820,11 +99696,12 @@
       this.cells.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> getCells() {
       return this.cells;
     }
 
-    public updateAndFlush_args setCells(java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells) {
+    public updateAndFlush_args setCells(@org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells) {
       this.cells = cells;
       return this;
     }
@@ -98844,7 +99721,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -98877,6 +99754,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -99014,6 +99892,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -99118,15 +99997,15 @@
                 {
                   org.apache.thrift.protocol.TMap _map442 = iprot.readMapBegin();
                   struct.cells = new java.util.HashMap<java.nio.ByteBuffer,java.util.List<ColumnUpdate>>(2*_map442.size);
-                  java.nio.ByteBuffer _key443;
-                  java.util.List<ColumnUpdate> _val444;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key443;
+                  @org.apache.thrift.annotation.Nullable java.util.List<ColumnUpdate> _val444;
                   for (int _i445 = 0; _i445 < _map442.size; ++_i445)
                   {
                     _key443 = iprot.readBinary();
                     {
                       org.apache.thrift.protocol.TList _list446 = iprot.readListBegin();
                       _val444 = new java.util.ArrayList<ColumnUpdate>(_list446.size);
-                      ColumnUpdate _elem447;
+                      @org.apache.thrift.annotation.Nullable ColumnUpdate _elem447;
                       for (int _i448 = 0; _i448 < _list446.size; ++_i448)
                       {
                         _elem447 = new ColumnUpdate();
@@ -99257,15 +100136,15 @@
           {
             org.apache.thrift.protocol.TMap _map453 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
             struct.cells = new java.util.HashMap<java.nio.ByteBuffer,java.util.List<ColumnUpdate>>(2*_map453.size);
-            java.nio.ByteBuffer _key454;
-            java.util.List<ColumnUpdate> _val455;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key454;
+            @org.apache.thrift.annotation.Nullable java.util.List<ColumnUpdate> _val455;
             for (int _i456 = 0; _i456 < _map453.size; ++_i456)
             {
               _key454 = iprot.readBinary();
               {
                 org.apache.thrift.protocol.TList _list457 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
                 _val455 = new java.util.ArrayList<ColumnUpdate>(_list457.size);
-                ColumnUpdate _elem458;
+                @org.apache.thrift.annotation.Nullable ColumnUpdate _elem458;
                 for (int _i459 = 0; _i459 < _list457.size; ++_i459)
                 {
                   _elem458 = new ColumnUpdate();
@@ -99297,10 +100176,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateAndFlush_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateAndFlush_resultTupleSchemeFactory();
 
-    public AccumuloException outch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
-    public MutationsRejectedException ouch4; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException outch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable MutationsRejectedException ouch4; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -99320,6 +100199,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUTCH1
@@ -99348,6 +100228,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -99431,11 +100312,12 @@
       this.ouch4 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOutch1() {
       return this.outch1;
     }
 
-    public updateAndFlush_result setOutch1(AccumuloException outch1) {
+    public updateAndFlush_result setOutch1(@org.apache.thrift.annotation.Nullable AccumuloException outch1) {
       this.outch1 = outch1;
       return this;
     }
@@ -99455,11 +100337,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public updateAndFlush_result setOuch2(AccumuloSecurityException ouch2) {
+    public updateAndFlush_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -99479,11 +100362,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public updateAndFlush_result setOuch3(TableNotFoundException ouch3) {
+    public updateAndFlush_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -99503,11 +100387,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public MutationsRejectedException getOuch4() {
       return this.ouch4;
     }
 
-    public updateAndFlush_result setOuch4(MutationsRejectedException ouch4) {
+    public updateAndFlush_result setOuch4(@org.apache.thrift.annotation.Nullable MutationsRejectedException ouch4) {
       this.ouch4 = ouch4;
       return this;
     }
@@ -99527,7 +100412,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUTCH1:
         if (value == null) {
@@ -99564,6 +100449,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUTCH1:
@@ -99729,6 +100615,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -99978,9 +100865,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createWriter_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createWriter_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public WriterOptions opts; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable WriterOptions opts; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -99999,6 +100886,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -100025,6 +100913,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -100110,11 +100999,11 @@
     }
 
     public createWriter_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createWriter_args setLogin(java.nio.ByteBuffer login) {
+    public createWriter_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -100134,11 +101023,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public createWriter_args setTableName(java.lang.String tableName) {
+    public createWriter_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -100158,11 +101048,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public WriterOptions getOpts() {
       return this.opts;
     }
 
-    public createWriter_args setOpts(WriterOptions opts) {
+    public createWriter_args setOpts(@org.apache.thrift.annotation.Nullable WriterOptions opts) {
       this.opts = opts;
       return this;
     }
@@ -100182,7 +101073,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -100215,6 +101106,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -100352,6 +101244,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -100568,10 +101461,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createWriter_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createWriter_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public AccumuloException outch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException outch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -100591,6 +101484,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -100619,6 +101513,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -100702,11 +101597,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createWriter_result setSuccess(java.lang.String success) {
+    public createWriter_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -100726,11 +101622,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOutch1() {
       return this.outch1;
     }
 
-    public createWriter_result setOutch1(AccumuloException outch1) {
+    public createWriter_result setOutch1(@org.apache.thrift.annotation.Nullable AccumuloException outch1) {
       this.outch1 = outch1;
       return this;
     }
@@ -100750,11 +101647,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createWriter_result setOuch2(AccumuloSecurityException ouch2) {
+    public createWriter_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -100774,11 +101672,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public createWriter_result setOuch3(TableNotFoundException ouch3) {
+    public createWriter_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -100798,7 +101697,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -100835,6 +101734,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -101000,6 +101900,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -101246,8 +102147,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new update_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new update_argsTupleSchemeFactory();
 
-    public java.lang.String writer; // required
-    public java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String writer; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -101265,6 +102166,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // WRITER
@@ -101289,6 +102191,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -101374,11 +102277,12 @@
       this.cells = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getWriter() {
       return this.writer;
     }
 
-    public update_args setWriter(java.lang.String writer) {
+    public update_args setWriter(@org.apache.thrift.annotation.Nullable java.lang.String writer) {
       this.writer = writer;
       return this;
     }
@@ -101409,11 +102313,12 @@
       this.cells.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> getCells() {
       return this.cells;
     }
 
-    public update_args setCells(java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells) {
+    public update_args setCells(@org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,java.util.List<ColumnUpdate>> cells) {
       this.cells = cells;
       return this;
     }
@@ -101433,7 +102338,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case WRITER:
         if (value == null) {
@@ -101454,6 +102359,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case WRITER:
@@ -101563,6 +102469,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -101651,15 +102558,15 @@
                 {
                   org.apache.thrift.protocol.TMap _map460 = iprot.readMapBegin();
                   struct.cells = new java.util.HashMap<java.nio.ByteBuffer,java.util.List<ColumnUpdate>>(2*_map460.size);
-                  java.nio.ByteBuffer _key461;
-                  java.util.List<ColumnUpdate> _val462;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key461;
+                  @org.apache.thrift.annotation.Nullable java.util.List<ColumnUpdate> _val462;
                   for (int _i463 = 0; _i463 < _map460.size; ++_i463)
                   {
                     _key461 = iprot.readBinary();
                     {
                       org.apache.thrift.protocol.TList _list464 = iprot.readListBegin();
                       _val462 = new java.util.ArrayList<ColumnUpdate>(_list464.size);
-                      ColumnUpdate _elem465;
+                      @org.apache.thrift.annotation.Nullable ColumnUpdate _elem465;
                       for (int _i466 = 0; _i466 < _list464.size; ++_i466)
                       {
                         _elem465 = new ColumnUpdate();
@@ -101775,15 +102682,15 @@
           {
             org.apache.thrift.protocol.TMap _map471 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
             struct.cells = new java.util.HashMap<java.nio.ByteBuffer,java.util.List<ColumnUpdate>>(2*_map471.size);
-            java.nio.ByteBuffer _key472;
-            java.util.List<ColumnUpdate> _val473;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key472;
+            @org.apache.thrift.annotation.Nullable java.util.List<ColumnUpdate> _val473;
             for (int _i474 = 0; _i474 < _map471.size; ++_i474)
             {
               _key472 = iprot.readBinary();
               {
                 org.apache.thrift.protocol.TList _list475 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
                 _val473 = new java.util.ArrayList<ColumnUpdate>(_list475.size);
-                ColumnUpdate _elem476;
+                @org.apache.thrift.annotation.Nullable ColumnUpdate _elem476;
                 for (int _i477 = 0; _i477 < _list475.size; ++_i477)
                 {
                   _elem476 = new ColumnUpdate();
@@ -101812,7 +102719,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new flush_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new flush_argsTupleSchemeFactory();
 
-    public java.lang.String writer; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String writer; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -101829,6 +102736,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // WRITER
@@ -101851,6 +102759,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -101910,11 +102819,12 @@
       this.writer = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getWriter() {
       return this.writer;
     }
 
-    public flush_args setWriter(java.lang.String writer) {
+    public flush_args setWriter(@org.apache.thrift.annotation.Nullable java.lang.String writer) {
       this.writer = writer;
       return this;
     }
@@ -101934,7 +102844,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case WRITER:
         if (value == null) {
@@ -101947,6 +102857,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case WRITER:
@@ -102028,6 +102939,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -102175,8 +103087,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new flush_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new flush_resultTupleSchemeFactory();
 
-    public UnknownWriter ouch1; // required
-    public MutationsRejectedException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable UnknownWriter ouch1; // required
+    public @org.apache.thrift.annotation.Nullable MutationsRejectedException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -102194,6 +103106,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -102218,6 +103131,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -102285,11 +103199,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownWriter getOuch1() {
       return this.ouch1;
     }
 
-    public flush_result setOuch1(UnknownWriter ouch1) {
+    public flush_result setOuch1(@org.apache.thrift.annotation.Nullable UnknownWriter ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -102309,11 +103224,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public MutationsRejectedException getOuch2() {
       return this.ouch2;
     }
 
-    public flush_result setOuch2(MutationsRejectedException ouch2) {
+    public flush_result setOuch2(@org.apache.thrift.annotation.Nullable MutationsRejectedException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -102333,7 +103249,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -102354,6 +103270,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -102463,6 +103380,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -102644,7 +103562,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new closeWriter_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new closeWriter_argsTupleSchemeFactory();
 
-    public java.lang.String writer; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String writer; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -102661,6 +103579,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // WRITER
@@ -102683,6 +103602,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -102742,11 +103662,12 @@
       this.writer = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getWriter() {
       return this.writer;
     }
 
-    public closeWriter_args setWriter(java.lang.String writer) {
+    public closeWriter_args setWriter(@org.apache.thrift.annotation.Nullable java.lang.String writer) {
       this.writer = writer;
       return this;
     }
@@ -102766,7 +103687,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case WRITER:
         if (value == null) {
@@ -102779,6 +103700,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case WRITER:
@@ -102860,6 +103782,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -103007,8 +103930,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new closeWriter_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new closeWriter_resultTupleSchemeFactory();
 
-    public UnknownWriter ouch1; // required
-    public MutationsRejectedException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable UnknownWriter ouch1; // required
+    public @org.apache.thrift.annotation.Nullable MutationsRejectedException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -103026,6 +103949,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -103050,6 +103974,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -103117,11 +104042,12 @@
       this.ouch2 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownWriter getOuch1() {
       return this.ouch1;
     }
 
-    public closeWriter_result setOuch1(UnknownWriter ouch1) {
+    public closeWriter_result setOuch1(@org.apache.thrift.annotation.Nullable UnknownWriter ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -103141,11 +104067,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public MutationsRejectedException getOuch2() {
       return this.ouch2;
     }
 
-    public closeWriter_result setOuch2(MutationsRejectedException ouch2) {
+    public closeWriter_result setOuch2(@org.apache.thrift.annotation.Nullable MutationsRejectedException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -103165,7 +104092,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -103186,6 +104113,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -103295,6 +104223,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -103479,10 +104408,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateRowConditionally_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateRowConditionally_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public java.nio.ByteBuffer row; // required
-    public ConditionalUpdates updates; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row; // required
+    public @org.apache.thrift.annotation.Nullable ConditionalUpdates updates; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -103502,6 +104431,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -103530,6 +104460,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -103623,11 +104554,11 @@
     }
 
     public updateRowConditionally_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public updateRowConditionally_args setLogin(java.nio.ByteBuffer login) {
+    public updateRowConditionally_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -103647,11 +104578,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public updateRowConditionally_args setTableName(java.lang.String tableName) {
+    public updateRowConditionally_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -103681,11 +104613,11 @@
     }
 
     public updateRowConditionally_args setRow(byte[] row) {
-      this.row = row == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(row.clone());
+      this.row = row == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(row.clone());
       return this;
     }
 
-    public updateRowConditionally_args setRow(java.nio.ByteBuffer row) {
+    public updateRowConditionally_args setRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(row);
       return this;
     }
@@ -103705,11 +104637,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public ConditionalUpdates getUpdates() {
       return this.updates;
     }
 
-    public updateRowConditionally_args setUpdates(ConditionalUpdates updates) {
+    public updateRowConditionally_args setUpdates(@org.apache.thrift.annotation.Nullable ConditionalUpdates updates) {
       this.updates = updates;
       return this;
     }
@@ -103729,7 +104662,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -103774,6 +104707,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -103939,6 +104873,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -104190,10 +105125,10 @@
      * 
      * @see ConditionalStatus
      */
-    public ConditionalStatus success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable ConditionalStatus success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -104217,6 +105152,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -104245,6 +105181,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -104332,6 +105269,7 @@
      * 
      * @see ConditionalStatus
      */
+    @org.apache.thrift.annotation.Nullable
     public ConditionalStatus getSuccess() {
       return this.success;
     }
@@ -104340,7 +105278,7 @@
      * 
      * @see ConditionalStatus
      */
-    public updateRowConditionally_result setSuccess(ConditionalStatus success) {
+    public updateRowConditionally_result setSuccess(@org.apache.thrift.annotation.Nullable ConditionalStatus success) {
       this.success = success;
       return this;
     }
@@ -104360,11 +105298,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public updateRowConditionally_result setOuch1(AccumuloException ouch1) {
+    public updateRowConditionally_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -104384,11 +105323,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public updateRowConditionally_result setOuch2(AccumuloSecurityException ouch2) {
+    public updateRowConditionally_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -104408,11 +105348,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public updateRowConditionally_result setOuch3(TableNotFoundException ouch3) {
+    public updateRowConditionally_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -104432,7 +105373,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -104469,6 +105410,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -104634,6 +105576,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -104881,9 +105824,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createConditionalWriter_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createConditionalWriter_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String tableName; // required
-    public ConditionalWriterOptions options; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tableName; // required
+    public @org.apache.thrift.annotation.Nullable ConditionalWriterOptions options; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -104902,6 +105845,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -104928,6 +105872,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -105013,11 +105958,11 @@
     }
 
     public createConditionalWriter_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createConditionalWriter_args setLogin(java.nio.ByteBuffer login) {
+    public createConditionalWriter_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -105037,11 +105982,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTableName() {
       return this.tableName;
     }
 
-    public createConditionalWriter_args setTableName(java.lang.String tableName) {
+    public createConditionalWriter_args setTableName(@org.apache.thrift.annotation.Nullable java.lang.String tableName) {
       this.tableName = tableName;
       return this;
     }
@@ -105061,11 +106007,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public ConditionalWriterOptions getOptions() {
       return this.options;
     }
 
-    public createConditionalWriter_args setOptions(ConditionalWriterOptions options) {
+    public createConditionalWriter_args setOptions(@org.apache.thrift.annotation.Nullable ConditionalWriterOptions options) {
       this.options = options;
       return this;
     }
@@ -105085,7 +106032,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -105118,6 +106065,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -105255,6 +106203,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -105471,10 +106420,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createConditionalWriter_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createConditionalWriter_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public TableNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable TableNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -105494,6 +106443,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -105522,6 +106472,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -105605,11 +106556,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createConditionalWriter_result setSuccess(java.lang.String success) {
+    public createConditionalWriter_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -105629,11 +106581,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public createConditionalWriter_result setOuch1(AccumuloException ouch1) {
+    public createConditionalWriter_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -105653,11 +106606,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createConditionalWriter_result setOuch2(AccumuloSecurityException ouch2) {
+    public createConditionalWriter_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -105677,11 +106631,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public TableNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public createConditionalWriter_result setOuch3(TableNotFoundException ouch3) {
+    public createConditionalWriter_result setOuch3(@org.apache.thrift.annotation.Nullable TableNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -105701,7 +106656,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -105738,6 +106693,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -105903,6 +106859,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -106149,8 +107106,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateRowsConditionally_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateRowsConditionally_argsTupleSchemeFactory();
 
-    public java.lang.String conditionalWriter; // required
-    public java.util.Map<java.nio.ByteBuffer,ConditionalUpdates> updates; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String conditionalWriter; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,ConditionalUpdates> updates; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -106168,6 +107125,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // CONDITIONAL_WRITER
@@ -106192,6 +107150,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106273,11 +107232,12 @@
       this.updates = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getConditionalWriter() {
       return this.conditionalWriter;
     }
 
-    public updateRowsConditionally_args setConditionalWriter(java.lang.String conditionalWriter) {
+    public updateRowsConditionally_args setConditionalWriter(@org.apache.thrift.annotation.Nullable java.lang.String conditionalWriter) {
       this.conditionalWriter = conditionalWriter;
       return this;
     }
@@ -106308,11 +107268,12 @@
       this.updates.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.nio.ByteBuffer,ConditionalUpdates> getUpdates() {
       return this.updates;
     }
 
-    public updateRowsConditionally_args setUpdates(java.util.Map<java.nio.ByteBuffer,ConditionalUpdates> updates) {
+    public updateRowsConditionally_args setUpdates(@org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,ConditionalUpdates> updates) {
       this.updates = updates;
       return this;
     }
@@ -106332,7 +107293,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case CONDITIONAL_WRITER:
         if (value == null) {
@@ -106353,6 +107314,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case CONDITIONAL_WRITER:
@@ -106462,6 +107424,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -106550,8 +107513,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map478 = iprot.readMapBegin();
                   struct.updates = new java.util.HashMap<java.nio.ByteBuffer,ConditionalUpdates>(2*_map478.size);
-                  java.nio.ByteBuffer _key479;
-                  ConditionalUpdates _val480;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key479;
+                  @org.apache.thrift.annotation.Nullable ConditionalUpdates _val480;
                   for (int _i481 = 0; _i481 < _map478.size; ++_i481)
                   {
                     _key479 = iprot.readBinary();
@@ -106651,8 +107614,8 @@
           {
             org.apache.thrift.protocol.TMap _map484 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
             struct.updates = new java.util.HashMap<java.nio.ByteBuffer,ConditionalUpdates>(2*_map484.size);
-            java.nio.ByteBuffer _key485;
-            ConditionalUpdates _val486;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key485;
+            @org.apache.thrift.annotation.Nullable ConditionalUpdates _val486;
             for (int _i487 = 0; _i487 < _map484.size; ++_i487)
             {
               _key485 = iprot.readBinary();
@@ -106682,10 +107645,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateRowsConditionally_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateRowsConditionally_resultTupleSchemeFactory();
 
-    public java.util.Map<java.nio.ByteBuffer,ConditionalStatus> success; // required
-    public UnknownWriter ouch1; // required
-    public AccumuloException ouch2; // required
-    public AccumuloSecurityException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,ConditionalStatus> success; // required
+    public @org.apache.thrift.annotation.Nullable UnknownWriter ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -106705,6 +107668,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -106733,6 +107697,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106841,11 +107806,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.nio.ByteBuffer,ConditionalStatus> getSuccess() {
       return this.success;
     }
 
-    public updateRowsConditionally_result setSuccess(java.util.Map<java.nio.ByteBuffer,ConditionalStatus> success) {
+    public updateRowsConditionally_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.nio.ByteBuffer,ConditionalStatus> success) {
       this.success = success;
       return this;
     }
@@ -106865,11 +107831,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public UnknownWriter getOuch1() {
       return this.ouch1;
     }
 
-    public updateRowsConditionally_result setOuch1(UnknownWriter ouch1) {
+    public updateRowsConditionally_result setOuch1(@org.apache.thrift.annotation.Nullable UnknownWriter ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -106889,11 +107856,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch2() {
       return this.ouch2;
     }
 
-    public updateRowsConditionally_result setOuch2(AccumuloException ouch2) {
+    public updateRowsConditionally_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -106913,11 +107881,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch3() {
       return this.ouch3;
     }
 
-    public updateRowsConditionally_result setOuch3(AccumuloSecurityException ouch3) {
+    public updateRowsConditionally_result setOuch3(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -106937,7 +107906,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -106974,6 +107943,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -107139,6 +108109,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -107235,8 +108206,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map488 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.nio.ByteBuffer,ConditionalStatus>(2*_map488.size);
-                  java.nio.ByteBuffer _key489;
-                  ConditionalStatus _val490;
+                  @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key489;
+                  @org.apache.thrift.annotation.Nullable ConditionalStatus _val490;
                   for (int _i491 = 0; _i491 < _map488.size; ++_i491)
                   {
                     _key489 = iprot.readBinary();
@@ -107380,8 +108351,8 @@
           {
             org.apache.thrift.protocol.TMap _map494 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.success = new java.util.HashMap<java.nio.ByteBuffer,ConditionalStatus>(2*_map494.size);
-            java.nio.ByteBuffer _key495;
-            ConditionalStatus _val496;
+            @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _key495;
+            @org.apache.thrift.annotation.Nullable ConditionalStatus _val496;
             for (int _i497 = 0; _i497 < _map494.size; ++_i497)
             {
               _key495 = iprot.readBinary();
@@ -107422,7 +108393,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new closeConditionalWriter_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new closeConditionalWriter_argsTupleSchemeFactory();
 
-    public java.lang.String conditionalWriter; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String conditionalWriter; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -107439,6 +108410,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // CONDITIONAL_WRITER
@@ -107461,6 +108433,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -107520,11 +108493,12 @@
       this.conditionalWriter = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getConditionalWriter() {
       return this.conditionalWriter;
     }
 
-    public closeConditionalWriter_args setConditionalWriter(java.lang.String conditionalWriter) {
+    public closeConditionalWriter_args setConditionalWriter(@org.apache.thrift.annotation.Nullable java.lang.String conditionalWriter) {
       this.conditionalWriter = conditionalWriter;
       return this;
     }
@@ -107544,7 +108518,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case CONDITIONAL_WRITER:
         if (value == null) {
@@ -107557,6 +108531,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case CONDITIONAL_WRITER:
@@ -107638,6 +108613,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -107799,6 +108775,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -107819,6 +108796,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -107863,11 +108841,12 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -107921,6 +108900,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -108034,7 +109014,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getRowRange_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getRowRange_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer row; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -108051,6 +109031,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // ROW
@@ -108073,6 +109054,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -108142,11 +109124,11 @@
     }
 
     public getRowRange_args setRow(byte[] row) {
-      this.row = row == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(row.clone());
+      this.row = row == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(row.clone());
       return this;
     }
 
-    public getRowRange_args setRow(java.nio.ByteBuffer row) {
+    public getRowRange_args setRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(row);
       return this;
     }
@@ -108166,7 +109148,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case ROW:
         if (value == null) {
@@ -108183,6 +109165,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case ROW:
@@ -108264,6 +109247,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -108410,7 +109394,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getRowRange_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getRowRange_resultTupleSchemeFactory();
 
-    public Range success; // required
+    public @org.apache.thrift.annotation.Nullable Range success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -108427,6 +109411,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -108449,6 +109434,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -108508,11 +109494,12 @@
       this.success = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public Range getSuccess() {
       return this.success;
     }
 
-    public getRowRange_result setSuccess(Range success) {
+    public getRowRange_result setSuccess(@org.apache.thrift.annotation.Nullable Range success) {
       this.success = success;
       return this;
     }
@@ -108532,7 +109519,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -108545,6 +109532,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -108626,6 +109614,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -108778,12 +109767,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getFollowing_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getFollowing_argsTupleSchemeFactory();
 
-    public Key key; // required
+    public @org.apache.thrift.annotation.Nullable Key key; // required
     /**
      * 
      * @see PartialKey
      */
-    public PartialKey part; // required
+    public @org.apache.thrift.annotation.Nullable PartialKey part; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -108805,6 +109794,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // KEY
@@ -108829,6 +109819,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -108896,11 +109887,12 @@
       this.part = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public Key getKey() {
       return this.key;
     }
 
-    public getFollowing_args setKey(Key key) {
+    public getFollowing_args setKey(@org.apache.thrift.annotation.Nullable Key key) {
       this.key = key;
       return this;
     }
@@ -108924,6 +109916,7 @@
      * 
      * @see PartialKey
      */
+    @org.apache.thrift.annotation.Nullable
     public PartialKey getPart() {
       return this.part;
     }
@@ -108932,7 +109925,7 @@
      * 
      * @see PartialKey
      */
-    public getFollowing_args setPart(PartialKey part) {
+    public getFollowing_args setPart(@org.apache.thrift.annotation.Nullable PartialKey part) {
       this.part = part;
       return this;
     }
@@ -108952,7 +109945,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case KEY:
         if (value == null) {
@@ -108973,6 +109966,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case KEY:
@@ -109082,6 +110076,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -109264,7 +110259,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getFollowing_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getFollowing_resultTupleSchemeFactory();
 
-    public Key success; // required
+    public @org.apache.thrift.annotation.Nullable Key success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -109281,6 +110276,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -109303,6 +110299,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -109362,11 +110359,12 @@
       this.success = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public Key getSuccess() {
       return this.success;
     }
 
-    public getFollowing_result setSuccess(Key success) {
+    public getFollowing_result setSuccess(@org.apache.thrift.annotation.Nullable Key success) {
       this.success = success;
       return this;
     }
@@ -109386,7 +110384,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -109399,6 +110397,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -109480,6 +110479,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -109646,6 +110646,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -109666,6 +110667,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -109710,11 +110712,12 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -109768,6 +110771,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -109881,7 +110885,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new systemNamespace_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new systemNamespace_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -109898,6 +110902,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -109920,6 +110925,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -109979,11 +110985,12 @@
       this.success = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public systemNamespace_result setSuccess(java.lang.String success) {
+    public systemNamespace_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -110003,7 +111010,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -110016,6 +111023,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -110097,6 +111105,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -110258,6 +111267,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -110278,6 +111288,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110322,11 +111333,12 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -110380,6 +111392,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -110493,7 +111506,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new defaultNamespace_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new defaultNamespace_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -110510,6 +111523,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -110532,6 +111546,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110591,11 +111606,12 @@
       this.success = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public defaultNamespace_result setSuccess(java.lang.String success) {
+    public defaultNamespace_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -110615,7 +111631,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -110628,6 +111644,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -110709,6 +111726,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -110855,7 +111873,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listNamespaces_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listNamespaces_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -110872,6 +111890,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -110894,6 +111913,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110963,11 +111983,11 @@
     }
 
     public listNamespaces_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listNamespaces_args setLogin(java.nio.ByteBuffer login) {
+    public listNamespaces_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -110987,7 +112007,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -111004,6 +112024,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -111085,6 +112106,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -111233,9 +112255,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listNamespaces_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listNamespaces_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -111254,6 +112276,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -111280,6 +112303,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -111361,6 +112385,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -111372,11 +112397,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public listNamespaces_result setSuccess(java.util.List<java.lang.String> success) {
+    public listNamespaces_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -111396,11 +112422,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listNamespaces_result setOuch1(AccumuloException ouch1) {
+    public listNamespaces_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -111420,11 +112447,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listNamespaces_result setOuch2(AccumuloSecurityException ouch2) {
+    public listNamespaces_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -111444,7 +112472,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -111473,6 +112501,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -111610,6 +112639,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -111698,7 +112728,7 @@
                 {
                   org.apache.thrift.protocol.TList _list498 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list498.size);
-                  java.lang.String _elem499;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem499;
                   for (int _i500 = 0; _i500 < _list498.size; ++_i500)
                   {
                     _elem499 = iprot.readString();
@@ -111819,7 +112849,7 @@
           {
             org.apache.thrift.protocol.TList _list503 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.ArrayList<java.lang.String>(_list503.size);
-            java.lang.String _elem504;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem504;
             for (int _i505 = 0; _i505 < _list503.size; ++_i505)
             {
               _elem504 = iprot.readString();
@@ -111855,8 +112885,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new namespaceExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new namespaceExists_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -111874,6 +112904,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -111898,6 +112929,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -111975,11 +113007,11 @@
     }
 
     public namespaceExists_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public namespaceExists_args setLogin(java.nio.ByteBuffer login) {
+    public namespaceExists_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -111999,11 +113031,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public namespaceExists_args setNamespaceName(java.lang.String namespaceName) {
+    public namespaceExists_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -112023,7 +113056,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -112048,6 +113081,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -112157,6 +113191,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -112337,8 +113372,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new namespaceExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -112357,6 +113392,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -112383,6 +113419,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -112484,11 +113521,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public namespaceExists_result setOuch1(AccumuloException ouch1) {
+    public namespaceExists_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -112508,11 +113546,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public namespaceExists_result setOuch2(AccumuloSecurityException ouch2) {
+    public namespaceExists_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -112532,7 +113571,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -112561,6 +113600,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -112696,6 +113736,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -112907,8 +113948,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNamespace_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNamespace_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -112926,6 +113967,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -112950,6 +113992,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -113027,11 +114070,11 @@
     }
 
     public createNamespace_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public createNamespace_args setLogin(java.nio.ByteBuffer login) {
+    public createNamespace_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -113051,11 +114094,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public createNamespace_args setNamespaceName(java.lang.String namespaceName) {
+    public createNamespace_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -113075,7 +114119,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -113100,6 +114144,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -113209,6 +114254,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -113388,9 +114434,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNamespace_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNamespace_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceExistsException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceExistsException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -113409,6 +114455,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -113435,6 +114482,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -113510,11 +114558,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public createNamespace_result setOuch1(AccumuloException ouch1) {
+    public createNamespace_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -113534,11 +114583,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public createNamespace_result setOuch2(AccumuloSecurityException ouch2) {
+    public createNamespace_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -113558,11 +114608,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceExistsException getOuch3() {
       return this.ouch3;
     }
 
-    public createNamespace_result setOuch3(NamespaceExistsException ouch3) {
+    public createNamespace_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceExistsException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -113582,7 +114633,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -113611,6 +114662,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -113748,6 +114800,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -113963,8 +115016,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteNamespace_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteNamespace_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -113982,6 +115035,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -114006,6 +115060,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -114083,11 +115138,11 @@
     }
 
     public deleteNamespace_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public deleteNamespace_args setLogin(java.nio.ByteBuffer login) {
+    public deleteNamespace_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -114107,11 +115162,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public deleteNamespace_args setNamespaceName(java.lang.String namespaceName) {
+    public deleteNamespace_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -114131,7 +115187,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -114156,6 +115212,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -114265,6 +115322,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -114445,10 +115503,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteNamespace_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteNamespace_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
-    public NamespaceNotEmptyException ouch4; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotEmptyException ouch4; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -114468,6 +115526,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -114496,6 +115555,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -114579,11 +115639,12 @@
       this.ouch4 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public deleteNamespace_result setOuch1(AccumuloException ouch1) {
+    public deleteNamespace_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -114603,11 +115664,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public deleteNamespace_result setOuch2(AccumuloSecurityException ouch2) {
+    public deleteNamespace_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -114627,11 +115689,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public deleteNamespace_result setOuch3(NamespaceNotFoundException ouch3) {
+    public deleteNamespace_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -114651,11 +115714,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotEmptyException getOuch4() {
       return this.ouch4;
     }
 
-    public deleteNamespace_result setOuch4(NamespaceNotEmptyException ouch4) {
+    public deleteNamespace_result setOuch4(@org.apache.thrift.annotation.Nullable NamespaceNotEmptyException ouch4) {
       this.ouch4 = ouch4;
       return this;
     }
@@ -114675,7 +115739,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -114712,6 +115776,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -114877,6 +115942,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -115126,9 +116192,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renameNamespace_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renameNamespace_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String oldNamespaceName; // required
-    public java.lang.String newNamespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String oldNamespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newNamespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -115147,6 +116213,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -115173,6 +116240,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115258,11 +116326,11 @@
     }
 
     public renameNamespace_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public renameNamespace_args setLogin(java.nio.ByteBuffer login) {
+    public renameNamespace_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -115282,11 +116350,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getOldNamespaceName() {
       return this.oldNamespaceName;
     }
 
-    public renameNamespace_args setOldNamespaceName(java.lang.String oldNamespaceName) {
+    public renameNamespace_args setOldNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String oldNamespaceName) {
       this.oldNamespaceName = oldNamespaceName;
       return this;
     }
@@ -115306,11 +116375,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewNamespaceName() {
       return this.newNamespaceName;
     }
 
-    public renameNamespace_args setNewNamespaceName(java.lang.String newNamespaceName) {
+    public renameNamespace_args setNewNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String newNamespaceName) {
       this.newNamespaceName = newNamespaceName;
       return this;
     }
@@ -115330,7 +116400,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -115363,6 +116433,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -115500,6 +116571,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -115711,10 +116783,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new renameNamespace_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new renameNamespace_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
-    public NamespaceExistsException ouch4; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceExistsException ouch4; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -115734,6 +116806,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -115762,6 +116835,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115845,11 +116919,12 @@
       this.ouch4 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public renameNamespace_result setOuch1(AccumuloException ouch1) {
+    public renameNamespace_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -115869,11 +116944,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public renameNamespace_result setOuch2(AccumuloSecurityException ouch2) {
+    public renameNamespace_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -115893,11 +116969,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public renameNamespace_result setOuch3(NamespaceNotFoundException ouch3) {
+    public renameNamespace_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -115917,11 +116994,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceExistsException getOuch4() {
       return this.ouch4;
     }
 
-    public renameNamespace_result setOuch4(NamespaceExistsException ouch4) {
+    public renameNamespace_result setOuch4(@org.apache.thrift.annotation.Nullable NamespaceExistsException ouch4) {
       this.ouch4 = ouch4;
       return this;
     }
@@ -115941,7 +117019,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -115978,6 +117056,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -116143,6 +117222,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -116393,10 +117473,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setNamespaceProperty_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setNamespaceProperty_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public java.lang.String property; // required
-    public java.lang.String value; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String property; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String value; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -116416,6 +117496,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -116444,6 +117525,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -116537,11 +117619,11 @@
     }
 
     public setNamespaceProperty_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public setNamespaceProperty_args setLogin(java.nio.ByteBuffer login) {
+    public setNamespaceProperty_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -116561,11 +117643,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public setNamespaceProperty_args setNamespaceName(java.lang.String namespaceName) {
+    public setNamespaceProperty_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -116585,11 +117668,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProperty() {
       return this.property;
     }
 
-    public setNamespaceProperty_args setProperty(java.lang.String property) {
+    public setNamespaceProperty_args setProperty(@org.apache.thrift.annotation.Nullable java.lang.String property) {
       this.property = property;
       return this;
     }
@@ -116609,11 +117693,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getValue() {
       return this.value;
     }
 
-    public setNamespaceProperty_args setValue(java.lang.String value) {
+    public setNamespaceProperty_args setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
       this.value = value;
       return this;
     }
@@ -116633,7 +117718,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -116674,6 +117759,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -116839,6 +117925,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -117080,9 +118167,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setNamespaceProperty_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setNamespaceProperty_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -117101,6 +118188,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -117127,6 +118215,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -117202,11 +118291,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public setNamespaceProperty_result setOuch1(AccumuloException ouch1) {
+    public setNamespaceProperty_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -117226,11 +118316,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public setNamespaceProperty_result setOuch2(AccumuloSecurityException ouch2) {
+    public setNamespaceProperty_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -117250,11 +118341,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public setNamespaceProperty_result setOuch3(NamespaceNotFoundException ouch3) {
+    public setNamespaceProperty_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -117274,7 +118366,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -117303,6 +118395,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -117440,6 +118533,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -117656,9 +118750,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeNamespaceProperty_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeNamespaceProperty_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public java.lang.String property; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String property; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -117677,6 +118771,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -117703,6 +118798,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -117788,11 +118884,11 @@
     }
 
     public removeNamespaceProperty_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeNamespaceProperty_args setLogin(java.nio.ByteBuffer login) {
+    public removeNamespaceProperty_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -117812,11 +118908,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public removeNamespaceProperty_args setNamespaceName(java.lang.String namespaceName) {
+    public removeNamespaceProperty_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -117836,11 +118933,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProperty() {
       return this.property;
     }
 
-    public removeNamespaceProperty_args setProperty(java.lang.String property) {
+    public removeNamespaceProperty_args setProperty(@org.apache.thrift.annotation.Nullable java.lang.String property) {
       this.property = property;
       return this;
     }
@@ -117860,7 +118958,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -117893,6 +118991,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -118030,6 +119129,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -118240,9 +119340,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeNamespaceProperty_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeNamespaceProperty_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -118261,6 +119361,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -118287,6 +119388,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -118362,11 +119464,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeNamespaceProperty_result setOuch1(AccumuloException ouch1) {
+    public removeNamespaceProperty_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -118386,11 +119489,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeNamespaceProperty_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeNamespaceProperty_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -118410,11 +119514,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public removeNamespaceProperty_result setOuch3(NamespaceNotFoundException ouch3) {
+    public removeNamespaceProperty_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -118434,7 +119539,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -118463,6 +119568,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -118600,6 +119706,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -118815,8 +119922,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNamespaceProperties_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNamespaceProperties_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -118834,6 +119941,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -118858,6 +119966,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -118935,11 +120044,11 @@
     }
 
     public getNamespaceProperties_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getNamespaceProperties_args setLogin(java.nio.ByteBuffer login) {
+    public getNamespaceProperties_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -118959,11 +120068,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public getNamespaceProperties_args setNamespaceName(java.lang.String namespaceName) {
+    public getNamespaceProperties_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -118983,7 +120093,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -119008,6 +120118,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -119117,6 +120228,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -119297,10 +120409,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNamespaceProperties_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNamespaceProperties_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -119320,6 +120432,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -119348,6 +120461,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -119445,11 +120559,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getNamespaceProperties_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getNamespaceProperties_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -119469,11 +120584,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getNamespaceProperties_result setOuch1(AccumuloException ouch1) {
+    public getNamespaceProperties_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -119493,11 +120609,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getNamespaceProperties_result setOuch2(AccumuloSecurityException ouch2) {
+    public getNamespaceProperties_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -119517,11 +120634,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getNamespaceProperties_result setOuch3(NamespaceNotFoundException ouch3) {
+    public getNamespaceProperties_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -119541,7 +120659,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -119578,6 +120696,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -119743,6 +120862,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -119839,8 +120959,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map506 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map506.size);
-                  java.lang.String _key507;
-                  java.lang.String _val508;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key507;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val508;
                   for (int _i509 = 0; _i509 < _map506.size; ++_i509)
                   {
                     _key507 = iprot.readString();
@@ -119984,8 +121104,8 @@
           {
             org.apache.thrift.protocol.TMap _map512 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map512.size);
-            java.lang.String _key513;
-            java.lang.String _val514;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key513;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val514;
             for (int _i515 = 0; _i515 < _map512.size; ++_i515)
             {
               _key513 = iprot.readString();
@@ -120026,7 +121146,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new namespaceIdMap_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new namespaceIdMap_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -120043,6 +121163,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -120065,6 +121186,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -120134,11 +121256,11 @@
     }
 
     public namespaceIdMap_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public namespaceIdMap_args setLogin(java.nio.ByteBuffer login) {
+    public namespaceIdMap_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -120158,7 +121280,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -120175,6 +121297,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -120256,6 +121379,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -120404,9 +121528,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new namespaceIdMap_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new namespaceIdMap_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -120425,6 +121549,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -120451,6 +121576,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -120540,11 +121666,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public namespaceIdMap_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public namespaceIdMap_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -120564,11 +121691,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public namespaceIdMap_result setOuch1(AccumuloException ouch1) {
+    public namespaceIdMap_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -120588,11 +121716,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public namespaceIdMap_result setOuch2(AccumuloSecurityException ouch2) {
+    public namespaceIdMap_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -120612,7 +121741,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -120641,6 +121770,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -120778,6 +121908,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -120866,8 +121997,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map516 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map516.size);
-                  java.lang.String _key517;
-                  java.lang.String _val518;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key517;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val518;
                   for (int _i519 = 0; _i519 < _map516.size; ++_i519)
                   {
                     _key517 = iprot.readString();
@@ -120991,8 +122122,8 @@
           {
             org.apache.thrift.protocol.TMap _map522 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map522.size);
-            java.lang.String _key523;
-            java.lang.String _val524;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key523;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val524;
             for (int _i525 = 0; _i525 < _map522.size; ++_i525)
             {
               _key523 = iprot.readString();
@@ -121031,10 +122162,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new attachNamespaceIterator_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new attachNamespaceIterator_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public IteratorSetting setting; // required
-    public java.util.Set<IteratorScope> scopes; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable IteratorSetting setting; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -121054,6 +122185,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -121082,6 +122214,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -121180,11 +122313,11 @@
     }
 
     public attachNamespaceIterator_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public attachNamespaceIterator_args setLogin(java.nio.ByteBuffer login) {
+    public attachNamespaceIterator_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -121204,11 +122337,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public attachNamespaceIterator_args setNamespaceName(java.lang.String namespaceName) {
+    public attachNamespaceIterator_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -121228,11 +122362,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IteratorSetting getSetting() {
       return this.setting;
     }
 
-    public attachNamespaceIterator_args setSetting(IteratorSetting setting) {
+    public attachNamespaceIterator_args setSetting(@org.apache.thrift.annotation.Nullable IteratorSetting setting) {
       this.setting = setting;
       return this;
     }
@@ -121256,6 +122391,7 @@
       return (this.scopes == null) ? 0 : this.scopes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorScope> getScopesIterator() {
       return (this.scopes == null) ? null : this.scopes.iterator();
     }
@@ -121267,11 +122403,12 @@
       this.scopes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<IteratorScope> getScopes() {
       return this.scopes;
     }
 
-    public attachNamespaceIterator_args setScopes(java.util.Set<IteratorScope> scopes) {
+    public attachNamespaceIterator_args setScopes(@org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes) {
       this.scopes = scopes;
       return this;
     }
@@ -121291,7 +122428,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -121332,6 +122469,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -121497,6 +122635,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -121621,7 +122760,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set526 = iprot.readSetBegin();
                   struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-                  IteratorScope _elem527;
+                  @org.apache.thrift.annotation.Nullable IteratorScope _elem527;
                   for (int _i528 = 0; _i528 < _set526.size; ++_i528)
                   {
                     _elem527 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -121751,7 +122890,7 @@
           {
             org.apache.thrift.protocol.TSet _set531 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-            IteratorScope _elem532;
+            @org.apache.thrift.annotation.Nullable IteratorScope _elem532;
             for (int _i533 = 0; _i533 < _set531.size; ++_i533)
             {
               _elem532 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -121781,9 +122920,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new attachNamespaceIterator_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new attachNamespaceIterator_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -121802,6 +122941,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -121828,6 +122968,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -121903,11 +123044,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public attachNamespaceIterator_result setOuch1(AccumuloException ouch1) {
+    public attachNamespaceIterator_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -121927,11 +123069,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public attachNamespaceIterator_result setOuch2(AccumuloSecurityException ouch2) {
+    public attachNamespaceIterator_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -121951,11 +123094,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public attachNamespaceIterator_result setOuch3(NamespaceNotFoundException ouch3) {
+    public attachNamespaceIterator_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -121975,7 +123119,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -122004,6 +123148,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -122141,6 +123286,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -122358,10 +123504,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeNamespaceIterator_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeNamespaceIterator_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public java.lang.String name; // required
-    public java.util.Set<IteratorScope> scopes; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -122381,6 +123527,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -122409,6 +123556,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -122507,11 +123655,11 @@
     }
 
     public removeNamespaceIterator_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeNamespaceIterator_args setLogin(java.nio.ByteBuffer login) {
+    public removeNamespaceIterator_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -122531,11 +123679,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public removeNamespaceIterator_args setNamespaceName(java.lang.String namespaceName) {
+    public removeNamespaceIterator_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -122555,11 +123704,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getName() {
       return this.name;
     }
 
-    public removeNamespaceIterator_args setName(java.lang.String name) {
+    public removeNamespaceIterator_args setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
       this.name = name;
       return this;
     }
@@ -122583,6 +123733,7 @@
       return (this.scopes == null) ? 0 : this.scopes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorScope> getScopesIterator() {
       return (this.scopes == null) ? null : this.scopes.iterator();
     }
@@ -122594,11 +123745,12 @@
       this.scopes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<IteratorScope> getScopes() {
       return this.scopes;
     }
 
-    public removeNamespaceIterator_args setScopes(java.util.Set<IteratorScope> scopes) {
+    public removeNamespaceIterator_args setScopes(@org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes) {
       this.scopes = scopes;
       return this;
     }
@@ -122618,7 +123770,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -122659,6 +123811,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -122824,6 +123977,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -122944,7 +124098,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set534 = iprot.readSetBegin();
                   struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-                  IteratorScope _elem535;
+                  @org.apache.thrift.annotation.Nullable IteratorScope _elem535;
                   for (int _i536 = 0; _i536 < _set534.size; ++_i536)
                   {
                     _elem535 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -123073,7 +124227,7 @@
           {
             org.apache.thrift.protocol.TSet _set539 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-            IteratorScope _elem540;
+            @org.apache.thrift.annotation.Nullable IteratorScope _elem540;
             for (int _i541 = 0; _i541 < _set539.size; ++_i541)
             {
               _elem540 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -123103,9 +124257,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeNamespaceIterator_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeNamespaceIterator_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -123124,6 +124278,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -123150,6 +124305,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -123225,11 +124381,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeNamespaceIterator_result setOuch1(AccumuloException ouch1) {
+    public removeNamespaceIterator_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -123249,11 +124406,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeNamespaceIterator_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeNamespaceIterator_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -123273,11 +124431,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public removeNamespaceIterator_result setOuch3(NamespaceNotFoundException ouch3) {
+    public removeNamespaceIterator_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -123297,7 +124456,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -123326,6 +124485,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -123463,6 +124623,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -123680,14 +124841,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNamespaceIteratorSetting_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNamespaceIteratorSetting_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public java.lang.String name; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String name; // required
     /**
      * 
      * @see IteratorScope
      */
-    public IteratorScope scope; // required
+    public @org.apache.thrift.annotation.Nullable IteratorScope scope; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -123711,6 +124872,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -123739,6 +124901,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -123832,11 +124995,11 @@
     }
 
     public getNamespaceIteratorSetting_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public getNamespaceIteratorSetting_args setLogin(java.nio.ByteBuffer login) {
+    public getNamespaceIteratorSetting_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -123856,11 +125019,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public getNamespaceIteratorSetting_args setNamespaceName(java.lang.String namespaceName) {
+    public getNamespaceIteratorSetting_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -123880,11 +125044,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getName() {
       return this.name;
     }
 
-    public getNamespaceIteratorSetting_args setName(java.lang.String name) {
+    public getNamespaceIteratorSetting_args setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
       this.name = name;
       return this;
     }
@@ -123908,6 +125073,7 @@
      * 
      * @see IteratorScope
      */
+    @org.apache.thrift.annotation.Nullable
     public IteratorScope getScope() {
       return this.scope;
     }
@@ -123916,7 +125082,7 @@
      * 
      * @see IteratorScope
      */
-    public getNamespaceIteratorSetting_args setScope(IteratorScope scope) {
+    public getNamespaceIteratorSetting_args setScope(@org.apache.thrift.annotation.Nullable IteratorScope scope) {
       this.scope = scope;
       return this;
     }
@@ -123936,7 +125102,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -123977,6 +125143,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -124142,6 +125309,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -124384,10 +125552,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNamespaceIteratorSetting_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNamespaceIteratorSetting_resultTupleSchemeFactory();
 
-    public IteratorSetting success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable IteratorSetting success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -124407,6 +125575,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -124435,6 +125604,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -124518,11 +125688,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IteratorSetting getSuccess() {
       return this.success;
     }
 
-    public getNamespaceIteratorSetting_result setSuccess(IteratorSetting success) {
+    public getNamespaceIteratorSetting_result setSuccess(@org.apache.thrift.annotation.Nullable IteratorSetting success) {
       this.success = success;
       return this;
     }
@@ -124542,11 +125713,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public getNamespaceIteratorSetting_result setOuch1(AccumuloException ouch1) {
+    public getNamespaceIteratorSetting_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -124566,11 +125738,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public getNamespaceIteratorSetting_result setOuch2(AccumuloSecurityException ouch2) {
+    public getNamespaceIteratorSetting_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -124590,11 +125763,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public getNamespaceIteratorSetting_result setOuch3(NamespaceNotFoundException ouch3) {
+    public getNamespaceIteratorSetting_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -124614,7 +125788,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -124651,6 +125825,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -124816,6 +125991,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -125067,8 +126243,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listNamespaceIterators_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listNamespaceIterators_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -125086,6 +126262,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -125110,6 +126287,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -125187,11 +126365,11 @@
     }
 
     public listNamespaceIterators_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listNamespaceIterators_args setLogin(java.nio.ByteBuffer login) {
+    public listNamespaceIterators_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -125211,11 +126389,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public listNamespaceIterators_args setNamespaceName(java.lang.String namespaceName) {
+    public listNamespaceIterators_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -125235,7 +126414,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -125260,6 +126439,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -125369,6 +126549,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -125549,10 +126730,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listNamespaceIterators_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listNamespaceIterators_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -125572,6 +126753,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -125600,6 +126782,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -125712,11 +126895,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.util.Set<IteratorScope>> getSuccess() {
       return this.success;
     }
 
-    public listNamespaceIterators_result setSuccess(java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success) {
+    public listNamespaceIterators_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.util.Set<IteratorScope>> success) {
       this.success = success;
       return this;
     }
@@ -125736,11 +126920,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listNamespaceIterators_result setOuch1(AccumuloException ouch1) {
+    public listNamespaceIterators_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -125760,11 +126945,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listNamespaceIterators_result setOuch2(AccumuloSecurityException ouch2) {
+    public listNamespaceIterators_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -125784,11 +126970,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public listNamespaceIterators_result setOuch3(NamespaceNotFoundException ouch3) {
+    public listNamespaceIterators_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -125808,7 +126995,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -125845,6 +127032,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -126010,6 +127198,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -126106,15 +127295,15 @@
                 {
                   org.apache.thrift.protocol.TMap _map542 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.util.Set<IteratorScope>>(2*_map542.size);
-                  java.lang.String _key543;
-                  java.util.Set<IteratorScope> _val544;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key543;
+                  @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> _val544;
                   for (int _i545 = 0; _i545 < _map542.size; ++_i545)
                   {
                     _key543 = iprot.readString();
                     {
                       org.apache.thrift.protocol.TSet _set546 = iprot.readSetBegin();
                       _val544 = java.util.EnumSet.noneOf(IteratorScope.class);
-                      IteratorScope _elem547;
+                      @org.apache.thrift.annotation.Nullable IteratorScope _elem547;
                       for (int _i548 = 0; _i548 < _set546.size; ++_i548)
                       {
                         _elem547 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -126277,15 +127466,15 @@
           {
             org.apache.thrift.protocol.TMap _map553 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.SET, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.util.Set<IteratorScope>>(2*_map553.size);
-            java.lang.String _key554;
-            java.util.Set<IteratorScope> _val555;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key554;
+            @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> _val555;
             for (int _i556 = 0; _i556 < _map553.size; ++_i556)
             {
               _key554 = iprot.readString();
               {
                 org.apache.thrift.protocol.TSet _set557 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
                 _val555 = java.util.EnumSet.noneOf(IteratorScope.class);
-                IteratorScope _elem558;
+                @org.apache.thrift.annotation.Nullable IteratorScope _elem558;
                 for (int _i559 = 0; _i559 < _set557.size; ++_i559)
                 {
                   _elem558 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -126334,10 +127523,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new checkNamespaceIteratorConflicts_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new checkNamespaceIteratorConflicts_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public IteratorSetting setting; // required
-    public java.util.Set<IteratorScope> scopes; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable IteratorSetting setting; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -126357,6 +127546,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -126385,6 +127575,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -126483,11 +127674,11 @@
     }
 
     public checkNamespaceIteratorConflicts_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public checkNamespaceIteratorConflicts_args setLogin(java.nio.ByteBuffer login) {
+    public checkNamespaceIteratorConflicts_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -126507,11 +127698,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public checkNamespaceIteratorConflicts_args setNamespaceName(java.lang.String namespaceName) {
+    public checkNamespaceIteratorConflicts_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -126531,11 +127723,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IteratorSetting getSetting() {
       return this.setting;
     }
 
-    public checkNamespaceIteratorConflicts_args setSetting(IteratorSetting setting) {
+    public checkNamespaceIteratorConflicts_args setSetting(@org.apache.thrift.annotation.Nullable IteratorSetting setting) {
       this.setting = setting;
       return this;
     }
@@ -126559,6 +127752,7 @@
       return (this.scopes == null) ? 0 : this.scopes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<IteratorScope> getScopesIterator() {
       return (this.scopes == null) ? null : this.scopes.iterator();
     }
@@ -126570,11 +127764,12 @@
       this.scopes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Set<IteratorScope> getScopes() {
       return this.scopes;
     }
 
-    public checkNamespaceIteratorConflicts_args setScopes(java.util.Set<IteratorScope> scopes) {
+    public checkNamespaceIteratorConflicts_args setScopes(@org.apache.thrift.annotation.Nullable java.util.Set<IteratorScope> scopes) {
       this.scopes = scopes;
       return this;
     }
@@ -126594,7 +127789,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -126635,6 +127830,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -126800,6 +127996,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -126924,7 +128121,7 @@
                 {
                   org.apache.thrift.protocol.TSet _set560 = iprot.readSetBegin();
                   struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-                  IteratorScope _elem561;
+                  @org.apache.thrift.annotation.Nullable IteratorScope _elem561;
                   for (int _i562 = 0; _i562 < _set560.size; ++_i562)
                   {
                     _elem561 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -127054,7 +128251,7 @@
           {
             org.apache.thrift.protocol.TSet _set565 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.scopes = java.util.EnumSet.noneOf(IteratorScope.class);
-            IteratorScope _elem566;
+            @org.apache.thrift.annotation.Nullable IteratorScope _elem566;
             for (int _i567 = 0; _i567 < _set565.size; ++_i567)
             {
               _elem566 = org.apache.accumulo.proxy.thrift.IteratorScope.findByValue(iprot.readI32());
@@ -127084,9 +128281,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new checkNamespaceIteratorConflicts_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new checkNamespaceIteratorConflicts_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -127105,6 +128302,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -127131,6 +128329,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -127206,11 +128405,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public checkNamespaceIteratorConflicts_result setOuch1(AccumuloException ouch1) {
+    public checkNamespaceIteratorConflicts_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -127230,11 +128430,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public checkNamespaceIteratorConflicts_result setOuch2(AccumuloSecurityException ouch2) {
+    public checkNamespaceIteratorConflicts_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -127254,11 +128455,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public checkNamespaceIteratorConflicts_result setOuch3(NamespaceNotFoundException ouch3) {
+    public checkNamespaceIteratorConflicts_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -127278,7 +128480,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -127307,6 +128509,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -127444,6 +128647,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -127660,9 +128864,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addNamespaceConstraint_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addNamespaceConstraint_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public java.lang.String constraintClassName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String constraintClassName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -127681,6 +128885,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -127707,6 +128912,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -127792,11 +128998,11 @@
     }
 
     public addNamespaceConstraint_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public addNamespaceConstraint_args setLogin(java.nio.ByteBuffer login) {
+    public addNamespaceConstraint_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -127816,11 +129022,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public addNamespaceConstraint_args setNamespaceName(java.lang.String namespaceName) {
+    public addNamespaceConstraint_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -127840,11 +129047,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getConstraintClassName() {
       return this.constraintClassName;
     }
 
-    public addNamespaceConstraint_args setConstraintClassName(java.lang.String constraintClassName) {
+    public addNamespaceConstraint_args setConstraintClassName(@org.apache.thrift.annotation.Nullable java.lang.String constraintClassName) {
       this.constraintClassName = constraintClassName;
       return this;
     }
@@ -127864,7 +129072,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -127897,6 +129105,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -128034,6 +129243,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -128246,9 +129456,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addNamespaceConstraint_resultTupleSchemeFactory();
 
     public int success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -128268,6 +129478,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -128296,6 +129507,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -128405,11 +129617,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public addNamespaceConstraint_result setOuch1(AccumuloException ouch1) {
+    public addNamespaceConstraint_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -128429,11 +129642,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public addNamespaceConstraint_result setOuch2(AccumuloSecurityException ouch2) {
+    public addNamespaceConstraint_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -128453,11 +129667,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public addNamespaceConstraint_result setOuch3(NamespaceNotFoundException ouch3) {
+    public addNamespaceConstraint_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -128477,7 +129692,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -128514,6 +129729,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -128677,6 +129893,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -128922,8 +130139,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeNamespaceConstraint_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeNamespaceConstraint_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
     public int id; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -128943,6 +130160,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -128969,6 +130187,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -129057,11 +130276,11 @@
     }
 
     public removeNamespaceConstraint_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public removeNamespaceConstraint_args setLogin(java.nio.ByteBuffer login) {
+    public removeNamespaceConstraint_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -129081,11 +130300,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public removeNamespaceConstraint_args setNamespaceName(java.lang.String namespaceName) {
+    public removeNamespaceConstraint_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -129128,7 +130348,7 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ID_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -129161,6 +130381,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -129296,6 +130517,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -129502,9 +130724,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeNamespaceConstraint_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeNamespaceConstraint_resultTupleSchemeFactory();
 
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -129523,6 +130745,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUCH1
@@ -129549,6 +130772,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -129624,11 +130848,12 @@
       this.ouch3 = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public removeNamespaceConstraint_result setOuch1(AccumuloException ouch1) {
+    public removeNamespaceConstraint_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -129648,11 +130873,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public removeNamespaceConstraint_result setOuch2(AccumuloSecurityException ouch2) {
+    public removeNamespaceConstraint_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -129672,11 +130898,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public removeNamespaceConstraint_result setOuch3(NamespaceNotFoundException ouch3) {
+    public removeNamespaceConstraint_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -129696,7 +130923,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUCH1:
         if (value == null) {
@@ -129725,6 +130952,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUCH1:
@@ -129862,6 +131090,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -130077,8 +131306,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listNamespaceConstraints_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listNamespaceConstraints_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -130096,6 +131325,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -130120,6 +131350,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -130197,11 +131428,11 @@
     }
 
     public listNamespaceConstraints_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public listNamespaceConstraints_args setLogin(java.nio.ByteBuffer login) {
+    public listNamespaceConstraints_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -130221,11 +131452,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public listNamespaceConstraints_args setNamespaceName(java.lang.String namespaceName) {
+    public listNamespaceConstraints_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -130245,7 +131477,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -130270,6 +131502,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -130379,6 +131612,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -130559,10 +131793,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listNamespaceConstraints_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listNamespaceConstraints_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.Integer> success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> success; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -130582,6 +131816,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -130610,6 +131845,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -130707,11 +131943,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.Integer> getSuccess() {
       return this.success;
     }
 
-    public listNamespaceConstraints_result setSuccess(java.util.Map<java.lang.String,java.lang.Integer> success) {
+    public listNamespaceConstraints_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> success) {
       this.success = success;
       return this;
     }
@@ -130731,11 +131968,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public listNamespaceConstraints_result setOuch1(AccumuloException ouch1) {
+    public listNamespaceConstraints_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -130755,11 +131993,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public listNamespaceConstraints_result setOuch2(AccumuloSecurityException ouch2) {
+    public listNamespaceConstraints_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -130779,11 +132018,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public listNamespaceConstraints_result setOuch3(NamespaceNotFoundException ouch3) {
+    public listNamespaceConstraints_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -130803,7 +132043,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -130840,6 +132080,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -131005,6 +132246,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -131101,7 +132343,7 @@
                 {
                   org.apache.thrift.protocol.TMap _map568 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map568.size);
-                  java.lang.String _key569;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key569;
                   int _val570;
                   for (int _i571 = 0; _i571 < _map568.size; ++_i571)
                   {
@@ -131246,7 +132488,7 @@
           {
             org.apache.thrift.protocol.TMap _map574 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
             struct.success = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map574.size);
-            java.lang.String _key575;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key575;
             int _val576;
             for (int _i577 = 0; _i577 < _map574.size; ++_i577)
             {
@@ -131291,10 +132533,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new testNamespaceClassLoad_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new testNamespaceClassLoad_argsTupleSchemeFactory();
 
-    public java.nio.ByteBuffer login; // required
-    public java.lang.String namespaceName; // required
-    public java.lang.String className; // required
-    public java.lang.String asTypeName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String namespaceName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String className; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String asTypeName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -131314,6 +132556,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // LOGIN
@@ -131342,6 +132585,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -131435,11 +132679,11 @@
     }
 
     public testNamespaceClassLoad_args setLogin(byte[] login) {
-      this.login = login == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(login.clone());
+      this.login = login == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(login.clone());
       return this;
     }
 
-    public testNamespaceClassLoad_args setLogin(java.nio.ByteBuffer login) {
+    public testNamespaceClassLoad_args setLogin(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer login) {
       this.login = org.apache.thrift.TBaseHelper.copyBinary(login);
       return this;
     }
@@ -131459,11 +132703,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNamespaceName() {
       return this.namespaceName;
     }
 
-    public testNamespaceClassLoad_args setNamespaceName(java.lang.String namespaceName) {
+    public testNamespaceClassLoad_args setNamespaceName(@org.apache.thrift.annotation.Nullable java.lang.String namespaceName) {
       this.namespaceName = namespaceName;
       return this;
     }
@@ -131483,11 +132728,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getClassName() {
       return this.className;
     }
 
-    public testNamespaceClassLoad_args setClassName(java.lang.String className) {
+    public testNamespaceClassLoad_args setClassName(@org.apache.thrift.annotation.Nullable java.lang.String className) {
       this.className = className;
       return this;
     }
@@ -131507,11 +132753,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAsTypeName() {
       return this.asTypeName;
     }
 
-    public testNamespaceClassLoad_args setAsTypeName(java.lang.String asTypeName) {
+    public testNamespaceClassLoad_args setAsTypeName(@org.apache.thrift.annotation.Nullable java.lang.String asTypeName) {
       this.asTypeName = asTypeName;
       return this;
     }
@@ -131531,7 +132778,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case LOGIN:
         if (value == null) {
@@ -131572,6 +132819,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case LOGIN:
@@ -131737,6 +132985,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
@@ -131980,9 +133229,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new testNamespaceClassLoad_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public AccumuloException ouch1; // required
-    public AccumuloSecurityException ouch2; // required
-    public NamespaceNotFoundException ouch3; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloException ouch1; // required
+    public @org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2; // required
+    public @org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -132002,6 +133251,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -132030,6 +133280,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -132139,11 +133390,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloException getOuch1() {
       return this.ouch1;
     }
 
-    public testNamespaceClassLoad_result setOuch1(AccumuloException ouch1) {
+    public testNamespaceClassLoad_result setOuch1(@org.apache.thrift.annotation.Nullable AccumuloException ouch1) {
       this.ouch1 = ouch1;
       return this;
     }
@@ -132163,11 +133415,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public AccumuloSecurityException getOuch2() {
       return this.ouch2;
     }
 
-    public testNamespaceClassLoad_result setOuch2(AccumuloSecurityException ouch2) {
+    public testNamespaceClassLoad_result setOuch2(@org.apache.thrift.annotation.Nullable AccumuloSecurityException ouch2) {
       this.ouch2 = ouch2;
       return this;
     }
@@ -132187,11 +133440,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public NamespaceNotFoundException getOuch3() {
       return this.ouch3;
     }
 
-    public testNamespaceClassLoad_result setOuch3(NamespaceNotFoundException ouch3) {
+    public testNamespaceClassLoad_result setOuch3(@org.apache.thrift.annotation.Nullable NamespaceNotFoundException ouch3) {
       this.ouch3 = ouch3;
       return this;
     }
@@ -132211,7 +133465,7 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -132248,6 +133502,7 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -132411,6 +133666,7 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloSecurityException.java b/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloSecurityException.java
index 79af0df..2238f06 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloSecurityException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/AccumuloSecurityException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class AccumuloSecurityException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AccumuloSecurityException, AccumuloSecurityException._Fields>, java.io.Serializable, Cloneable, Comparable<AccumuloSecurityException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AccumuloSecurityException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AccumuloSecurityExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AccumuloSecurityExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public AccumuloSecurityException setMsg(java.lang.String msg) {
+  public AccumuloSecurityException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ActiveCompaction.java b/src/main/java/org/apache/accumulo/proxy/thrift/ActiveCompaction.java
index 8017f32..d9308b8 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ActiveCompaction.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ActiveCompaction.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ActiveCompaction implements org.apache.thrift.TBase<ActiveCompaction, ActiveCompaction._Fields>, java.io.Serializable, Cloneable, Comparable<ActiveCompaction> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ActiveCompaction");
 
@@ -41,24 +40,24 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ActiveCompactionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ActiveCompactionTupleSchemeFactory();
 
-  public KeyExtent extent; // required
+  public @org.apache.thrift.annotation.Nullable KeyExtent extent; // required
   public long age; // required
-  public java.util.List<java.lang.String> inputFiles; // required
-  public java.lang.String outputFile; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> inputFiles; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String outputFile; // required
   /**
    * 
    * @see CompactionType
    */
-  public CompactionType type; // required
+  public @org.apache.thrift.annotation.Nullable CompactionType type; // required
   /**
    * 
    * @see CompactionReason
    */
-  public CompactionReason reason; // required
-  public java.lang.String localityGroup; // required
+  public @org.apache.thrift.annotation.Nullable CompactionReason reason; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String localityGroup; // required
   public long entriesRead; // required
   public long entriesWritten; // required
-  public java.util.List<IteratorSetting> iterators; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -92,6 +91,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EXTENT
@@ -132,6 +132,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -275,11 +276,12 @@
     this.iterators = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public KeyExtent getExtent() {
     return this.extent;
   }
 
-  public ActiveCompaction setExtent(KeyExtent extent) {
+  public ActiveCompaction setExtent(@org.apache.thrift.annotation.Nullable KeyExtent extent) {
     this.extent = extent;
     return this;
   }
@@ -326,6 +328,7 @@
     return (this.inputFiles == null) ? 0 : this.inputFiles.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getInputFilesIterator() {
     return (this.inputFiles == null) ? null : this.inputFiles.iterator();
   }
@@ -337,11 +340,12 @@
     this.inputFiles.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getInputFiles() {
     return this.inputFiles;
   }
 
-  public ActiveCompaction setInputFiles(java.util.List<java.lang.String> inputFiles) {
+  public ActiveCompaction setInputFiles(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> inputFiles) {
     this.inputFiles = inputFiles;
     return this;
   }
@@ -361,11 +365,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOutputFile() {
     return this.outputFile;
   }
 
-  public ActiveCompaction setOutputFile(java.lang.String outputFile) {
+  public ActiveCompaction setOutputFile(@org.apache.thrift.annotation.Nullable java.lang.String outputFile) {
     this.outputFile = outputFile;
     return this;
   }
@@ -389,6 +394,7 @@
    * 
    * @see CompactionType
    */
+  @org.apache.thrift.annotation.Nullable
   public CompactionType getType() {
     return this.type;
   }
@@ -397,7 +403,7 @@
    * 
    * @see CompactionType
    */
-  public ActiveCompaction setType(CompactionType type) {
+  public ActiveCompaction setType(@org.apache.thrift.annotation.Nullable CompactionType type) {
     this.type = type;
     return this;
   }
@@ -421,6 +427,7 @@
    * 
    * @see CompactionReason
    */
+  @org.apache.thrift.annotation.Nullable
   public CompactionReason getReason() {
     return this.reason;
   }
@@ -429,7 +436,7 @@
    * 
    * @see CompactionReason
    */
-  public ActiveCompaction setReason(CompactionReason reason) {
+  public ActiveCompaction setReason(@org.apache.thrift.annotation.Nullable CompactionReason reason) {
     this.reason = reason;
     return this;
   }
@@ -449,11 +456,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLocalityGroup() {
     return this.localityGroup;
   }
 
-  public ActiveCompaction setLocalityGroup(java.lang.String localityGroup) {
+  public ActiveCompaction setLocalityGroup(@org.apache.thrift.annotation.Nullable java.lang.String localityGroup) {
     this.localityGroup = localityGroup;
     return this;
   }
@@ -523,6 +531,7 @@
     return (this.iterators == null) ? 0 : this.iterators.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<IteratorSetting> getIteratorsIterator() {
     return (this.iterators == null) ? null : this.iterators.iterator();
   }
@@ -534,11 +543,12 @@
     this.iterators.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<IteratorSetting> getIterators() {
     return this.iterators;
   }
 
-  public ActiveCompaction setIterators(java.util.List<IteratorSetting> iterators) {
+  public ActiveCompaction setIterators(@org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators) {
     this.iterators = iterators;
     return this;
   }
@@ -558,7 +568,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EXTENT:
       if (value == null) {
@@ -643,6 +653,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EXTENT:
@@ -970,6 +981,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -1124,7 +1136,7 @@
               {
                 org.apache.thrift.protocol.TList _list138 = iprot.readListBegin();
                 struct.inputFiles = new java.util.ArrayList<java.lang.String>(_list138.size);
-                java.lang.String _elem139;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem139;
                 for (int _i140 = 0; _i140 < _list138.size; ++_i140)
                 {
                   _elem139 = iprot.readString();
@@ -1190,7 +1202,7 @@
               {
                 org.apache.thrift.protocol.TList _list141 = iprot.readListBegin();
                 struct.iterators = new java.util.ArrayList<IteratorSetting>(_list141.size);
-                IteratorSetting _elem142;
+                @org.apache.thrift.annotation.Nullable IteratorSetting _elem142;
                 for (int _i143 = 0; _i143 < _list141.size; ++_i143)
                 {
                   _elem142 = new IteratorSetting();
@@ -1387,7 +1399,7 @@
         {
           org.apache.thrift.protocol.TList _list148 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.inputFiles = new java.util.ArrayList<java.lang.String>(_list148.size);
-          java.lang.String _elem149;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem149;
           for (int _i150 = 0; _i150 < _list148.size; ++_i150)
           {
             _elem149 = iprot.readString();
@@ -1424,7 +1436,7 @@
         {
           org.apache.thrift.protocol.TList _list151 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.iterators = new java.util.ArrayList<IteratorSetting>(_list151.size);
-          IteratorSetting _elem152;
+          @org.apache.thrift.annotation.Nullable IteratorSetting _elem152;
           for (int _i153 = 0; _i153 < _list151.size; ++_i153)
           {
             _elem152 = new IteratorSetting();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ActiveScan.java b/src/main/java/org/apache/accumulo/proxy/thrift/ActiveScan.java
index c7bb09e..da41217 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ActiveScan.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ActiveScan.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ActiveScan implements org.apache.thrift.TBase<ActiveScan, ActiveScan._Fields>, java.io.Serializable, Cloneable, Comparable<ActiveScan> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ActiveScan");
 
@@ -42,25 +41,25 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ActiveScanStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ActiveScanTupleSchemeFactory();
 
-  public java.lang.String client; // required
-  public java.lang.String user; // required
-  public java.lang.String table; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String client; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String user; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String table; // required
   public long age; // required
   public long idleTime; // required
   /**
    * 
    * @see ScanType
    */
-  public ScanType type; // required
+  public @org.apache.thrift.annotation.Nullable ScanType type; // required
   /**
    * 
    * @see ScanState
    */
-  public ScanState state; // required
-  public KeyExtent extent; // required
-  public java.util.List<Column> columns; // required
-  public java.util.List<IteratorSetting> iterators; // required
-  public java.util.List<java.nio.ByteBuffer> authorizations; // required
+  public @org.apache.thrift.annotation.Nullable ScanState state; // required
+  public @org.apache.thrift.annotation.Nullable KeyExtent extent; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<Column> columns; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<java.nio.ByteBuffer> authorizations; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -95,6 +94,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // CLIENT
@@ -137,6 +137,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -292,11 +293,12 @@
     this.authorizations = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getClient() {
     return this.client;
   }
 
-  public ActiveScan setClient(java.lang.String client) {
+  public ActiveScan setClient(@org.apache.thrift.annotation.Nullable java.lang.String client) {
     this.client = client;
     return this;
   }
@@ -316,11 +318,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUser() {
     return this.user;
   }
 
-  public ActiveScan setUser(java.lang.String user) {
+  public ActiveScan setUser(@org.apache.thrift.annotation.Nullable java.lang.String user) {
     this.user = user;
     return this;
   }
@@ -340,11 +343,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTable() {
     return this.table;
   }
 
-  public ActiveScan setTable(java.lang.String table) {
+  public ActiveScan setTable(@org.apache.thrift.annotation.Nullable java.lang.String table) {
     this.table = table;
     return this;
   }
@@ -414,6 +418,7 @@
    * 
    * @see ScanType
    */
+  @org.apache.thrift.annotation.Nullable
   public ScanType getType() {
     return this.type;
   }
@@ -422,7 +427,7 @@
    * 
    * @see ScanType
    */
-  public ActiveScan setType(ScanType type) {
+  public ActiveScan setType(@org.apache.thrift.annotation.Nullable ScanType type) {
     this.type = type;
     return this;
   }
@@ -446,6 +451,7 @@
    * 
    * @see ScanState
    */
+  @org.apache.thrift.annotation.Nullable
   public ScanState getState() {
     return this.state;
   }
@@ -454,7 +460,7 @@
    * 
    * @see ScanState
    */
-  public ActiveScan setState(ScanState state) {
+  public ActiveScan setState(@org.apache.thrift.annotation.Nullable ScanState state) {
     this.state = state;
     return this;
   }
@@ -474,11 +480,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public KeyExtent getExtent() {
     return this.extent;
   }
 
-  public ActiveScan setExtent(KeyExtent extent) {
+  public ActiveScan setExtent(@org.apache.thrift.annotation.Nullable KeyExtent extent) {
     this.extent = extent;
     return this;
   }
@@ -502,6 +509,7 @@
     return (this.columns == null) ? 0 : this.columns.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<Column> getColumnsIterator() {
     return (this.columns == null) ? null : this.columns.iterator();
   }
@@ -513,11 +521,12 @@
     this.columns.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<Column> getColumns() {
     return this.columns;
   }
 
-  public ActiveScan setColumns(java.util.List<Column> columns) {
+  public ActiveScan setColumns(@org.apache.thrift.annotation.Nullable java.util.List<Column> columns) {
     this.columns = columns;
     return this;
   }
@@ -541,6 +550,7 @@
     return (this.iterators == null) ? 0 : this.iterators.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<IteratorSetting> getIteratorsIterator() {
     return (this.iterators == null) ? null : this.iterators.iterator();
   }
@@ -552,11 +562,12 @@
     this.iterators.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<IteratorSetting> getIterators() {
     return this.iterators;
   }
 
-  public ActiveScan setIterators(java.util.List<IteratorSetting> iterators) {
+  public ActiveScan setIterators(@org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators) {
     this.iterators = iterators;
     return this;
   }
@@ -580,6 +591,7 @@
     return (this.authorizations == null) ? 0 : this.authorizations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.nio.ByteBuffer> getAuthorizationsIterator() {
     return (this.authorizations == null) ? null : this.authorizations.iterator();
   }
@@ -591,11 +603,12 @@
     this.authorizations.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.nio.ByteBuffer> getAuthorizations() {
     return this.authorizations;
   }
 
-  public ActiveScan setAuthorizations(java.util.List<java.nio.ByteBuffer> authorizations) {
+  public ActiveScan setAuthorizations(@org.apache.thrift.annotation.Nullable java.util.List<java.nio.ByteBuffer> authorizations) {
     this.authorizations = authorizations;
     return this;
   }
@@ -615,7 +628,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case CLIENT:
       if (value == null) {
@@ -708,6 +721,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case CLIENT:
@@ -1065,6 +1079,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -1279,7 +1294,7 @@
               {
                 org.apache.thrift.protocol.TList _list114 = iprot.readListBegin();
                 struct.columns = new java.util.ArrayList<Column>(_list114.size);
-                Column _elem115;
+                @org.apache.thrift.annotation.Nullable Column _elem115;
                 for (int _i116 = 0; _i116 < _list114.size; ++_i116)
                 {
                   _elem115 = new Column();
@@ -1298,7 +1313,7 @@
               {
                 org.apache.thrift.protocol.TList _list117 = iprot.readListBegin();
                 struct.iterators = new java.util.ArrayList<IteratorSetting>(_list117.size);
-                IteratorSetting _elem118;
+                @org.apache.thrift.annotation.Nullable IteratorSetting _elem118;
                 for (int _i119 = 0; _i119 < _list117.size; ++_i119)
                 {
                   _elem118 = new IteratorSetting();
@@ -1317,7 +1332,7 @@
               {
                 org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
                 struct.authorizations = new java.util.ArrayList<java.nio.ByteBuffer>(_list120.size);
-                java.nio.ByteBuffer _elem121;
+                @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem121;
                 for (int _i122 = 0; _i122 < _list120.size; ++_i122)
                 {
                   _elem121 = iprot.readBinary();
@@ -1563,7 +1578,7 @@
         {
           org.apache.thrift.protocol.TList _list129 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.columns = new java.util.ArrayList<Column>(_list129.size);
-          Column _elem130;
+          @org.apache.thrift.annotation.Nullable Column _elem130;
           for (int _i131 = 0; _i131 < _list129.size; ++_i131)
           {
             _elem130 = new Column();
@@ -1577,7 +1592,7 @@
         {
           org.apache.thrift.protocol.TList _list132 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.iterators = new java.util.ArrayList<IteratorSetting>(_list132.size);
-          IteratorSetting _elem133;
+          @org.apache.thrift.annotation.Nullable IteratorSetting _elem133;
           for (int _i134 = 0; _i134 < _list132.size; ++_i134)
           {
             _elem133 = new IteratorSetting();
@@ -1591,7 +1606,7 @@
         {
           org.apache.thrift.protocol.TList _list135 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.authorizations = new java.util.ArrayList<java.nio.ByteBuffer>(_list135.size);
-          java.nio.ByteBuffer _elem136;
+          @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem136;
           for (int _i137 = 0; _i137 < _list135.size; ++_i137)
           {
             _elem136 = iprot.readBinary();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/BatchScanOptions.java b/src/main/java/org/apache/accumulo/proxy/thrift/BatchScanOptions.java
index 655ff0b..fc79191 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/BatchScanOptions.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/BatchScanOptions.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class BatchScanOptions implements org.apache.thrift.TBase<BatchScanOptions, BatchScanOptions._Fields>, java.io.Serializable, Cloneable, Comparable<BatchScanOptions> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchScanOptions");
 
@@ -36,10 +35,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new BatchScanOptionsStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new BatchScanOptionsTupleSchemeFactory();
 
-  public java.util.Set<java.nio.ByteBuffer> authorizations; // optional
-  public java.util.List<Range> ranges; // optional
-  public java.util.List<ScanColumn> columns; // optional
-  public java.util.List<IteratorSetting> iterators; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<Range> ranges; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<ScanColumn> columns; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators; // optional
   public int threads; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -61,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AUTHORIZATIONS
@@ -91,6 +91,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -191,6 +192,7 @@
     return (this.authorizations == null) ? 0 : this.authorizations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.nio.ByteBuffer> getAuthorizationsIterator() {
     return (this.authorizations == null) ? null : this.authorizations.iterator();
   }
@@ -202,11 +204,12 @@
     this.authorizations.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Set<java.nio.ByteBuffer> getAuthorizations() {
     return this.authorizations;
   }
 
-  public BatchScanOptions setAuthorizations(java.util.Set<java.nio.ByteBuffer> authorizations) {
+  public BatchScanOptions setAuthorizations(@org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations) {
     this.authorizations = authorizations;
     return this;
   }
@@ -230,6 +233,7 @@
     return (this.ranges == null) ? 0 : this.ranges.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<Range> getRangesIterator() {
     return (this.ranges == null) ? null : this.ranges.iterator();
   }
@@ -241,11 +245,12 @@
     this.ranges.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<Range> getRanges() {
     return this.ranges;
   }
 
-  public BatchScanOptions setRanges(java.util.List<Range> ranges) {
+  public BatchScanOptions setRanges(@org.apache.thrift.annotation.Nullable java.util.List<Range> ranges) {
     this.ranges = ranges;
     return this;
   }
@@ -269,6 +274,7 @@
     return (this.columns == null) ? 0 : this.columns.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ScanColumn> getColumnsIterator() {
     return (this.columns == null) ? null : this.columns.iterator();
   }
@@ -280,11 +286,12 @@
     this.columns.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ScanColumn> getColumns() {
     return this.columns;
   }
 
-  public BatchScanOptions setColumns(java.util.List<ScanColumn> columns) {
+  public BatchScanOptions setColumns(@org.apache.thrift.annotation.Nullable java.util.List<ScanColumn> columns) {
     this.columns = columns;
     return this;
   }
@@ -308,6 +315,7 @@
     return (this.iterators == null) ? 0 : this.iterators.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<IteratorSetting> getIteratorsIterator() {
     return (this.iterators == null) ? null : this.iterators.iterator();
   }
@@ -319,11 +327,12 @@
     this.iterators.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<IteratorSetting> getIterators() {
     return this.iterators;
   }
 
-  public BatchScanOptions setIterators(java.util.List<IteratorSetting> iterators) {
+  public BatchScanOptions setIterators(@org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators) {
     this.iterators = iterators;
     return this;
   }
@@ -366,7 +375,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __THREADS_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AUTHORIZATIONS:
       if (value == null) {
@@ -411,6 +420,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AUTHORIZATIONS:
@@ -604,6 +614,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -716,7 +727,7 @@
               {
                 org.apache.thrift.protocol.TSet _set50 = iprot.readSetBegin();
                 struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set50.size);
-                java.nio.ByteBuffer _elem51;
+                @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem51;
                 for (int _i52 = 0; _i52 < _set50.size; ++_i52)
                 {
                   _elem51 = iprot.readBinary();
@@ -734,7 +745,7 @@
               {
                 org.apache.thrift.protocol.TList _list53 = iprot.readListBegin();
                 struct.ranges = new java.util.ArrayList<Range>(_list53.size);
-                Range _elem54;
+                @org.apache.thrift.annotation.Nullable Range _elem54;
                 for (int _i55 = 0; _i55 < _list53.size; ++_i55)
                 {
                   _elem54 = new Range();
@@ -753,7 +764,7 @@
               {
                 org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
                 struct.columns = new java.util.ArrayList<ScanColumn>(_list56.size);
-                ScanColumn _elem57;
+                @org.apache.thrift.annotation.Nullable ScanColumn _elem57;
                 for (int _i58 = 0; _i58 < _list56.size; ++_i58)
                 {
                   _elem57 = new ScanColumn();
@@ -772,7 +783,7 @@
               {
                 org.apache.thrift.protocol.TList _list59 = iprot.readListBegin();
                 struct.iterators = new java.util.ArrayList<IteratorSetting>(_list59.size);
-                IteratorSetting _elem60;
+                @org.apache.thrift.annotation.Nullable IteratorSetting _elem60;
                 for (int _i61 = 0; _i61 < _list59.size; ++_i61)
                 {
                   _elem60 = new IteratorSetting();
@@ -953,7 +964,7 @@
         {
           org.apache.thrift.protocol.TSet _set70 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set70.size);
-          java.nio.ByteBuffer _elem71;
+          @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem71;
           for (int _i72 = 0; _i72 < _set70.size; ++_i72)
           {
             _elem71 = iprot.readBinary();
@@ -966,7 +977,7 @@
         {
           org.apache.thrift.protocol.TList _list73 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.ranges = new java.util.ArrayList<Range>(_list73.size);
-          Range _elem74;
+          @org.apache.thrift.annotation.Nullable Range _elem74;
           for (int _i75 = 0; _i75 < _list73.size; ++_i75)
           {
             _elem74 = new Range();
@@ -980,7 +991,7 @@
         {
           org.apache.thrift.protocol.TList _list76 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.columns = new java.util.ArrayList<ScanColumn>(_list76.size);
-          ScanColumn _elem77;
+          @org.apache.thrift.annotation.Nullable ScanColumn _elem77;
           for (int _i78 = 0; _i78 < _list76.size; ++_i78)
           {
             _elem77 = new ScanColumn();
@@ -994,7 +1005,7 @@
         {
           org.apache.thrift.protocol.TList _list79 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.iterators = new java.util.ArrayList<IteratorSetting>(_list79.size);
-          IteratorSetting _elem80;
+          @org.apache.thrift.annotation.Nullable IteratorSetting _elem80;
           for (int _i81 = 0; _i81 < _list79.size; ++_i81)
           {
             _elem80 = new IteratorSetting();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/Column.java b/src/main/java/org/apache/accumulo/proxy/thrift/Column.java
index fe5848b..0768535 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/Column.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/Column.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class Column implements org.apache.thrift.TBase<Column, Column._Fields>, java.io.Serializable, Cloneable, Comparable<Column> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Column");
 
@@ -34,9 +33,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ColumnStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ColumnTupleSchemeFactory();
 
-  public java.nio.ByteBuffer colFamily; // required
-  public java.nio.ByteBuffer colQualifier; // required
-  public java.nio.ByteBuffer colVisibility; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colVisibility; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -55,6 +54,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COL_FAMILY
@@ -81,6 +81,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -166,11 +167,11 @@
   }
 
   public Column setColFamily(byte[] colFamily) {
-    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colFamily.clone());
+    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colFamily.clone());
     return this;
   }
 
-  public Column setColFamily(java.nio.ByteBuffer colFamily) {
+  public Column setColFamily(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily) {
     this.colFamily = org.apache.thrift.TBaseHelper.copyBinary(colFamily);
     return this;
   }
@@ -200,11 +201,11 @@
   }
 
   public Column setColQualifier(byte[] colQualifier) {
-    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colQualifier.clone());
+    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colQualifier.clone());
     return this;
   }
 
-  public Column setColQualifier(java.nio.ByteBuffer colQualifier) {
+  public Column setColQualifier(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier) {
     this.colQualifier = org.apache.thrift.TBaseHelper.copyBinary(colQualifier);
     return this;
   }
@@ -234,11 +235,11 @@
   }
 
   public Column setColVisibility(byte[] colVisibility) {
-    this.colVisibility = colVisibility == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colVisibility.clone());
+    this.colVisibility = colVisibility == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colVisibility.clone());
     return this;
   }
 
-  public Column setColVisibility(java.nio.ByteBuffer colVisibility) {
+  public Column setColVisibility(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colVisibility) {
     this.colVisibility = org.apache.thrift.TBaseHelper.copyBinary(colVisibility);
     return this;
   }
@@ -258,7 +259,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COL_FAMILY:
       if (value == null) {
@@ -299,6 +300,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COL_FAMILY:
@@ -436,6 +438,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ColumnUpdate.java b/src/main/java/org/apache/accumulo/proxy/thrift/ColumnUpdate.java
index 08e8d40..7a7a96a 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ColumnUpdate.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ColumnUpdate.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ColumnUpdate implements org.apache.thrift.TBase<ColumnUpdate, ColumnUpdate._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnUpdate> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnUpdate");
 
@@ -37,11 +36,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ColumnUpdateStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ColumnUpdateTupleSchemeFactory();
 
-  public java.nio.ByteBuffer colFamily; // required
-  public java.nio.ByteBuffer colQualifier; // required
-  public java.nio.ByteBuffer colVisibility; // optional
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colVisibility; // optional
   public long timestamp; // optional
-  public java.nio.ByteBuffer value; // optional
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer value; // optional
   public boolean deleteCell; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -64,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COL_FAMILY
@@ -96,6 +96,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -200,11 +201,11 @@
   }
 
   public ColumnUpdate setColFamily(byte[] colFamily) {
-    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colFamily.clone());
+    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colFamily.clone());
     return this;
   }
 
-  public ColumnUpdate setColFamily(java.nio.ByteBuffer colFamily) {
+  public ColumnUpdate setColFamily(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily) {
     this.colFamily = org.apache.thrift.TBaseHelper.copyBinary(colFamily);
     return this;
   }
@@ -234,11 +235,11 @@
   }
 
   public ColumnUpdate setColQualifier(byte[] colQualifier) {
-    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colQualifier.clone());
+    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colQualifier.clone());
     return this;
   }
 
-  public ColumnUpdate setColQualifier(java.nio.ByteBuffer colQualifier) {
+  public ColumnUpdate setColQualifier(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier) {
     this.colQualifier = org.apache.thrift.TBaseHelper.copyBinary(colQualifier);
     return this;
   }
@@ -268,11 +269,11 @@
   }
 
   public ColumnUpdate setColVisibility(byte[] colVisibility) {
-    this.colVisibility = colVisibility == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colVisibility.clone());
+    this.colVisibility = colVisibility == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colVisibility.clone());
     return this;
   }
 
-  public ColumnUpdate setColVisibility(java.nio.ByteBuffer colVisibility) {
+  public ColumnUpdate setColVisibility(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colVisibility) {
     this.colVisibility = org.apache.thrift.TBaseHelper.copyBinary(colVisibility);
     return this;
   }
@@ -325,11 +326,11 @@
   }
 
   public ColumnUpdate setValue(byte[] value) {
-    this.value = value == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(value.clone());
+    this.value = value == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(value.clone());
     return this;
   }
 
-  public ColumnUpdate setValue(java.nio.ByteBuffer value) {
+  public ColumnUpdate setValue(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer value) {
     this.value = org.apache.thrift.TBaseHelper.copyBinary(value);
     return this;
   }
@@ -372,7 +373,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DELETECELL_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COL_FAMILY:
       if (value == null) {
@@ -441,6 +442,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COL_FAMILY:
@@ -662,6 +664,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/CompactionReason.java b/src/main/java/org/apache/accumulo/proxy/thrift/CompactionReason.java
index 06c5812..6068a76 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/CompactionReason.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/CompactionReason.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -47,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static CompactionReason findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/CompactionStrategyConfig.java b/src/main/java/org/apache/accumulo/proxy/thrift/CompactionStrategyConfig.java
index 0260db0..44fc494 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/CompactionStrategyConfig.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/CompactionStrategyConfig.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class CompactionStrategyConfig implements org.apache.thrift.TBase<CompactionStrategyConfig, CompactionStrategyConfig._Fields>, java.io.Serializable, Cloneable, Comparable<CompactionStrategyConfig> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CompactionStrategyConfig");
 
@@ -33,8 +32,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CompactionStrategyConfigStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CompactionStrategyConfigTupleSchemeFactory();
 
-  public java.lang.String className; // required
-  public java.util.Map<java.lang.String,java.lang.String> options; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String className; // required
+  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> options; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // CLASS_NAME
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -146,11 +147,12 @@
     this.options = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getClassName() {
     return this.className;
   }
 
-  public CompactionStrategyConfig setClassName(java.lang.String className) {
+  public CompactionStrategyConfig setClassName(@org.apache.thrift.annotation.Nullable java.lang.String className) {
     this.className = className;
     return this;
   }
@@ -181,11 +183,12 @@
     this.options.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<java.lang.String,java.lang.String> getOptions() {
     return this.options;
   }
 
-  public CompactionStrategyConfig setOptions(java.util.Map<java.lang.String,java.lang.String> options) {
+  public CompactionStrategyConfig setOptions(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> options) {
     this.options = options;
     return this;
   }
@@ -205,7 +208,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case CLASS_NAME:
       if (value == null) {
@@ -226,6 +229,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case CLASS_NAME:
@@ -335,6 +339,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -423,8 +428,8 @@
               {
                 org.apache.thrift.protocol.TMap _map154 = iprot.readMapBegin();
                 struct.options = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map154.size);
-                java.lang.String _key155;
-                java.lang.String _val156;
+                @org.apache.thrift.annotation.Nullable java.lang.String _key155;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val156;
                 for (int _i157 = 0; _i157 < _map154.size; ++_i157)
                 {
                   _key155 = iprot.readString();
@@ -523,8 +528,8 @@
         {
           org.apache.thrift.protocol.TMap _map160 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.options = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map160.size);
-          java.lang.String _key161;
-          java.lang.String _val162;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key161;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val162;
           for (int _i163 = 0; _i163 < _map160.size; ++_i163)
           {
             _key161 = iprot.readString();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/CompactionType.java b/src/main/java/org/apache/accumulo/proxy/thrift/CompactionType.java
index d795c25..6588547 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/CompactionType.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/CompactionType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -46,6 +46,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static CompactionType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/Condition.java b/src/main/java/org/apache/accumulo/proxy/thrift/Condition.java
index d250574..3bc09a2 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/Condition.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/Condition.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class Condition implements org.apache.thrift.TBase<Condition, Condition._Fields>, java.io.Serializable, Cloneable, Comparable<Condition> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Condition");
 
@@ -35,10 +34,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ConditionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ConditionTupleSchemeFactory();
 
-  public Column column; // required
+  public @org.apache.thrift.annotation.Nullable Column column; // required
   public long timestamp; // optional
-  public java.nio.ByteBuffer value; // optional
-  public java.util.List<IteratorSetting> iterators; // optional
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer value; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -58,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COLUMN
@@ -86,6 +86,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -171,11 +172,12 @@
     this.iterators = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public Column getColumn() {
     return this.column;
   }
 
-  public Condition setColumn(Column column) {
+  public Condition setColumn(@org.apache.thrift.annotation.Nullable Column column) {
     this.column = column;
     return this;
   }
@@ -228,11 +230,11 @@
   }
 
   public Condition setValue(byte[] value) {
-    this.value = value == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(value.clone());
+    this.value = value == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(value.clone());
     return this;
   }
 
-  public Condition setValue(java.nio.ByteBuffer value) {
+  public Condition setValue(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer value) {
     this.value = org.apache.thrift.TBaseHelper.copyBinary(value);
     return this;
   }
@@ -256,6 +258,7 @@
     return (this.iterators == null) ? 0 : this.iterators.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<IteratorSetting> getIteratorsIterator() {
     return (this.iterators == null) ? null : this.iterators.iterator();
   }
@@ -267,11 +270,12 @@
     this.iterators.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<IteratorSetting> getIterators() {
     return this.iterators;
   }
 
-  public Condition setIterators(java.util.List<IteratorSetting> iterators) {
+  public Condition setIterators(@org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators) {
     this.iterators = iterators;
     return this;
   }
@@ -291,7 +295,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COLUMN:
       if (value == null) {
@@ -332,6 +336,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COLUMN:
@@ -497,6 +502,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -625,7 +631,7 @@
               {
                 org.apache.thrift.protocol.TList _list82 = iprot.readListBegin();
                 struct.iterators = new java.util.ArrayList<IteratorSetting>(_list82.size);
-                IteratorSetting _elem83;
+                @org.apache.thrift.annotation.Nullable IteratorSetting _elem83;
                 for (int _i84 = 0; _i84 < _list82.size; ++_i84)
                 {
                   _elem83 = new IteratorSetting();
@@ -757,7 +763,7 @@
         {
           org.apache.thrift.protocol.TList _list87 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.iterators = new java.util.ArrayList<IteratorSetting>(_list87.size);
-          IteratorSetting _elem88;
+          @org.apache.thrift.annotation.Nullable IteratorSetting _elem88;
           for (int _i89 = 0; _i89 < _list87.size; ++_i89)
           {
             _elem88 = new IteratorSetting();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalStatus.java b/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalStatus.java
index d9e352a..2ac4a74 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalStatus.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalStatus.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -47,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ConditionalStatus findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalUpdates.java b/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalUpdates.java
index 5a04964..28f464d 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalUpdates.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalUpdates.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ConditionalUpdates implements org.apache.thrift.TBase<ConditionalUpdates, ConditionalUpdates._Fields>, java.io.Serializable, Cloneable, Comparable<ConditionalUpdates> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ConditionalUpdates");
 
@@ -33,8 +32,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ConditionalUpdatesStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ConditionalUpdatesTupleSchemeFactory();
 
-  public java.util.List<Condition> conditions; // required
-  public java.util.List<ColumnUpdate> updates; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<Condition> conditions; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<ColumnUpdate> updates; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 2: // CONDITIONS
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -157,6 +158,7 @@
     return (this.conditions == null) ? 0 : this.conditions.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<Condition> getConditionsIterator() {
     return (this.conditions == null) ? null : this.conditions.iterator();
   }
@@ -168,11 +170,12 @@
     this.conditions.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<Condition> getConditions() {
     return this.conditions;
   }
 
-  public ConditionalUpdates setConditions(java.util.List<Condition> conditions) {
+  public ConditionalUpdates setConditions(@org.apache.thrift.annotation.Nullable java.util.List<Condition> conditions) {
     this.conditions = conditions;
     return this;
   }
@@ -196,6 +199,7 @@
     return (this.updates == null) ? 0 : this.updates.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ColumnUpdate> getUpdatesIterator() {
     return (this.updates == null) ? null : this.updates.iterator();
   }
@@ -207,11 +211,12 @@
     this.updates.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ColumnUpdate> getUpdates() {
     return this.updates;
   }
 
-  public ConditionalUpdates setUpdates(java.util.List<ColumnUpdate> updates) {
+  public ConditionalUpdates setUpdates(@org.apache.thrift.annotation.Nullable java.util.List<ColumnUpdate> updates) {
     this.updates = updates;
     return this;
   }
@@ -231,7 +236,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case CONDITIONS:
       if (value == null) {
@@ -252,6 +257,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case CONDITIONS:
@@ -361,6 +367,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -441,7 +448,7 @@
               {
                 org.apache.thrift.protocol.TList _list90 = iprot.readListBegin();
                 struct.conditions = new java.util.ArrayList<Condition>(_list90.size);
-                Condition _elem91;
+                @org.apache.thrift.annotation.Nullable Condition _elem91;
                 for (int _i92 = 0; _i92 < _list90.size; ++_i92)
                 {
                   _elem91 = new Condition();
@@ -460,7 +467,7 @@
               {
                 org.apache.thrift.protocol.TList _list93 = iprot.readListBegin();
                 struct.updates = new java.util.ArrayList<ColumnUpdate>(_list93.size);
-                ColumnUpdate _elem94;
+                @org.apache.thrift.annotation.Nullable ColumnUpdate _elem94;
                 for (int _i95 = 0; _i95 < _list93.size; ++_i95)
                 {
                   _elem94 = new ColumnUpdate();
@@ -566,7 +573,7 @@
         {
           org.apache.thrift.protocol.TList _list100 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.conditions = new java.util.ArrayList<Condition>(_list100.size);
-          Condition _elem101;
+          @org.apache.thrift.annotation.Nullable Condition _elem101;
           for (int _i102 = 0; _i102 < _list100.size; ++_i102)
           {
             _elem101 = new Condition();
@@ -580,7 +587,7 @@
         {
           org.apache.thrift.protocol.TList _list103 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.updates = new java.util.ArrayList<ColumnUpdate>(_list103.size);
-          ColumnUpdate _elem104;
+          @org.apache.thrift.annotation.Nullable ColumnUpdate _elem104;
           for (int _i105 = 0; _i105 < _list103.size; ++_i105)
           {
             _elem104 = new ColumnUpdate();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalWriterOptions.java b/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalWriterOptions.java
index 9ef029f..492386b 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalWriterOptions.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ConditionalWriterOptions.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ConditionalWriterOptions implements org.apache.thrift.TBase<ConditionalWriterOptions, ConditionalWriterOptions._Fields>, java.io.Serializable, Cloneable, Comparable<ConditionalWriterOptions> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ConditionalWriterOptions");
 
@@ -39,12 +38,12 @@
   public long maxMemory; // optional
   public long timeoutMs; // optional
   public int threads; // optional
-  public java.util.Set<java.nio.ByteBuffer> authorizations; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations; // optional
   /**
    * 
    * @see Durability
    */
-  public Durability durability; // optional
+  public @org.apache.thrift.annotation.Nullable Durability durability; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -69,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MAX_MEMORY
@@ -99,6 +99,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -253,6 +254,7 @@
     return (this.authorizations == null) ? 0 : this.authorizations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.nio.ByteBuffer> getAuthorizationsIterator() {
     return (this.authorizations == null) ? null : this.authorizations.iterator();
   }
@@ -264,11 +266,12 @@
     this.authorizations.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Set<java.nio.ByteBuffer> getAuthorizations() {
     return this.authorizations;
   }
 
-  public ConditionalWriterOptions setAuthorizations(java.util.Set<java.nio.ByteBuffer> authorizations) {
+  public ConditionalWriterOptions setAuthorizations(@org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations) {
     this.authorizations = authorizations;
     return this;
   }
@@ -292,6 +295,7 @@
    * 
    * @see Durability
    */
+  @org.apache.thrift.annotation.Nullable
   public Durability getDurability() {
     return this.durability;
   }
@@ -300,7 +304,7 @@
    * 
    * @see Durability
    */
-  public ConditionalWriterOptions setDurability(Durability durability) {
+  public ConditionalWriterOptions setDurability(@org.apache.thrift.annotation.Nullable Durability durability) {
     this.durability = durability;
     return this;
   }
@@ -320,7 +324,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MAX_MEMORY:
       if (value == null) {
@@ -365,6 +369,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MAX_MEMORY:
@@ -558,6 +563,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -686,7 +692,7 @@
               {
                 org.apache.thrift.protocol.TSet _set106 = iprot.readSetBegin();
                 struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set106.size);
-                java.nio.ByteBuffer _elem107;
+                @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem107;
                 for (int _i108 = 0; _i108 < _set106.size; ++_i108)
                 {
                   _elem107 = iprot.readBinary();
@@ -835,7 +841,7 @@
         {
           org.apache.thrift.protocol.TSet _set111 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set111.size);
-          java.nio.ByteBuffer _elem112;
+          @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem112;
           for (int _i113 = 0; _i113 < _set111.size; ++_i113)
           {
             _elem112 = iprot.readBinary();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/DiskUsage.java b/src/main/java/org/apache/accumulo/proxy/thrift/DiskUsage.java
index 306df74..bd47226 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/DiskUsage.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/DiskUsage.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class DiskUsage implements org.apache.thrift.TBase<DiskUsage, DiskUsage._Fields>, java.io.Serializable, Cloneable, Comparable<DiskUsage> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DiskUsage");
 
@@ -33,7 +32,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DiskUsageStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DiskUsageTupleSchemeFactory();
 
-  public java.util.List<java.lang.String> tables; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> tables; // required
   public long usage; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TABLES
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -152,6 +153,7 @@
     return (this.tables == null) ? 0 : this.tables.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getTablesIterator() {
     return (this.tables == null) ? null : this.tables.iterator();
   }
@@ -163,11 +165,12 @@
     this.tables.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getTables() {
     return this.tables;
   }
 
-  public DiskUsage setTables(java.util.List<java.lang.String> tables) {
+  public DiskUsage setTables(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> tables) {
     this.tables = tables;
     return this;
   }
@@ -210,7 +213,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __USAGE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TABLES:
       if (value == null) {
@@ -231,6 +234,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TABLES:
@@ -338,6 +342,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -416,7 +421,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.tables = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -514,7 +519,7 @@
         {
           org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.tables = new java.util.ArrayList<java.lang.String>(_list5.size);
-          java.lang.String _elem6;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = iprot.readString();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/Durability.java b/src/main/java/org/apache/accumulo/proxy/thrift/Durability.java
index dedfcc0..43a0288 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/Durability.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/Durability.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -47,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static Durability findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/IteratorScope.java b/src/main/java/org/apache/accumulo/proxy/thrift/IteratorScope.java
index 1b151e1..0973702 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/IteratorScope.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/IteratorScope.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -45,6 +45,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static IteratorScope findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/IteratorSetting.java b/src/main/java/org/apache/accumulo/proxy/thrift/IteratorSetting.java
index 4061fbb..411397c 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/IteratorSetting.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/IteratorSetting.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class IteratorSetting implements org.apache.thrift.TBase<IteratorSetting, IteratorSetting._Fields>, java.io.Serializable, Cloneable, Comparable<IteratorSetting> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IteratorSetting");
 
@@ -36,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new IteratorSettingTupleSchemeFactory();
 
   public int priority; // required
-  public java.lang.String name; // required
-  public java.lang.String iteratorClass; // required
-  public java.util.Map<java.lang.String,java.lang.String> properties; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String iteratorClass; // required
+  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -58,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PRIORITY
@@ -86,6 +86,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -198,11 +199,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITY_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public IteratorSetting setName(java.lang.String name) {
+  public IteratorSetting setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
     return this;
   }
@@ -222,11 +224,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIteratorClass() {
     return this.iteratorClass;
   }
 
-  public IteratorSetting setIteratorClass(java.lang.String iteratorClass) {
+  public IteratorSetting setIteratorClass(@org.apache.thrift.annotation.Nullable java.lang.String iteratorClass) {
     this.iteratorClass = iteratorClass;
     return this;
   }
@@ -257,11 +260,12 @@
     this.properties.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<java.lang.String,java.lang.String> getProperties() {
     return this.properties;
   }
 
-  public IteratorSetting setProperties(java.util.Map<java.lang.String,java.lang.String> properties) {
+  public IteratorSetting setProperties(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties) {
     this.properties = properties;
     return this;
   }
@@ -281,7 +285,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PRIORITY:
       if (value == null) {
@@ -318,6 +322,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PRIORITY:
@@ -481,6 +486,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -599,8 +605,8 @@
               {
                 org.apache.thrift.protocol.TMap _map16 = iprot.readMapBegin();
                 struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map16.size);
-                java.lang.String _key17;
-                java.lang.String _val18;
+                @org.apache.thrift.annotation.Nullable java.lang.String _key17;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val18;
                 for (int _i19 = 0; _i19 < _map16.size; ++_i19)
                 {
                   _key17 = iprot.readString();
@@ -727,8 +733,8 @@
         {
           org.apache.thrift.protocol.TMap _map22 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map22.size);
-          java.lang.String _key23;
-          java.lang.String _val24;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key23;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val24;
           for (int _i25 = 0; _i25 < _map22.size; ++_i25)
           {
             _key23 = iprot.readString();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/Key.java b/src/main/java/org/apache/accumulo/proxy/thrift/Key.java
index c0963b5..f487483 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/Key.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/Key.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class Key implements org.apache.thrift.TBase<Key, Key._Fields>, java.io.Serializable, Cloneable, Comparable<Key> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Key");
 
@@ -36,10 +35,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new KeyStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new KeyTupleSchemeFactory();
 
-  public java.nio.ByteBuffer row; // required
-  public java.nio.ByteBuffer colFamily; // required
-  public java.nio.ByteBuffer colQualifier; // required
-  public java.nio.ByteBuffer colVisibility; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colVisibility; // required
   public long timestamp; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -61,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ROW
@@ -91,6 +91,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -195,11 +196,11 @@
   }
 
   public Key setRow(byte[] row) {
-    this.row = row == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(row.clone());
+    this.row = row == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(row.clone());
     return this;
   }
 
-  public Key setRow(java.nio.ByteBuffer row) {
+  public Key setRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row) {
     this.row = org.apache.thrift.TBaseHelper.copyBinary(row);
     return this;
   }
@@ -229,11 +230,11 @@
   }
 
   public Key setColFamily(byte[] colFamily) {
-    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colFamily.clone());
+    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colFamily.clone());
     return this;
   }
 
-  public Key setColFamily(java.nio.ByteBuffer colFamily) {
+  public Key setColFamily(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily) {
     this.colFamily = org.apache.thrift.TBaseHelper.copyBinary(colFamily);
     return this;
   }
@@ -263,11 +264,11 @@
   }
 
   public Key setColQualifier(byte[] colQualifier) {
-    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colQualifier.clone());
+    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colQualifier.clone());
     return this;
   }
 
-  public Key setColQualifier(java.nio.ByteBuffer colQualifier) {
+  public Key setColQualifier(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier) {
     this.colQualifier = org.apache.thrift.TBaseHelper.copyBinary(colQualifier);
     return this;
   }
@@ -297,11 +298,11 @@
   }
 
   public Key setColVisibility(byte[] colVisibility) {
-    this.colVisibility = colVisibility == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colVisibility.clone());
+    this.colVisibility = colVisibility == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colVisibility.clone());
     return this;
   }
 
-  public Key setColVisibility(java.nio.ByteBuffer colVisibility) {
+  public Key setColVisibility(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colVisibility) {
     this.colVisibility = org.apache.thrift.TBaseHelper.copyBinary(colVisibility);
     return this;
   }
@@ -344,7 +345,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMESTAMP_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ROW:
       if (value == null) {
@@ -405,6 +406,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ROW:
@@ -598,6 +600,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/KeyExtent.java b/src/main/java/org/apache/accumulo/proxy/thrift/KeyExtent.java
index d34aef2..6e3a379 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/KeyExtent.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/KeyExtent.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class KeyExtent implements org.apache.thrift.TBase<KeyExtent, KeyExtent._Fields>, java.io.Serializable, Cloneable, Comparable<KeyExtent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("KeyExtent");
 
@@ -34,9 +33,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new KeyExtentStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new KeyExtentTupleSchemeFactory();
 
-  public java.lang.String tableId; // required
-  public java.nio.ByteBuffer endRow; // required
-  public java.nio.ByteBuffer prevEndRow; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String tableId; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer prevEndRow; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -55,6 +54,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TABLE_ID
@@ -81,6 +81,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -156,11 +157,12 @@
     this.prevEndRow = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTableId() {
     return this.tableId;
   }
 
-  public KeyExtent setTableId(java.lang.String tableId) {
+  public KeyExtent setTableId(@org.apache.thrift.annotation.Nullable java.lang.String tableId) {
     this.tableId = tableId;
     return this;
   }
@@ -190,11 +192,11 @@
   }
 
   public KeyExtent setEndRow(byte[] endRow) {
-    this.endRow = endRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(endRow.clone());
+    this.endRow = endRow == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(endRow.clone());
     return this;
   }
 
-  public KeyExtent setEndRow(java.nio.ByteBuffer endRow) {
+  public KeyExtent setEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer endRow) {
     this.endRow = org.apache.thrift.TBaseHelper.copyBinary(endRow);
     return this;
   }
@@ -224,11 +226,11 @@
   }
 
   public KeyExtent setPrevEndRow(byte[] prevEndRow) {
-    this.prevEndRow = prevEndRow == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(prevEndRow.clone());
+    this.prevEndRow = prevEndRow == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(prevEndRow.clone());
     return this;
   }
 
-  public KeyExtent setPrevEndRow(java.nio.ByteBuffer prevEndRow) {
+  public KeyExtent setPrevEndRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer prevEndRow) {
     this.prevEndRow = org.apache.thrift.TBaseHelper.copyBinary(prevEndRow);
     return this;
   }
@@ -248,7 +250,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TABLE_ID:
       if (value == null) {
@@ -285,6 +287,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TABLE_ID:
@@ -422,6 +425,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/KeyValue.java b/src/main/java/org/apache/accumulo/proxy/thrift/KeyValue.java
index 3cd8776..270397b 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/KeyValue.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/KeyValue.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class KeyValue implements org.apache.thrift.TBase<KeyValue, KeyValue._Fields>, java.io.Serializable, Cloneable, Comparable<KeyValue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("KeyValue");
 
@@ -33,8 +32,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new KeyValueStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new KeyValueTupleSchemeFactory();
 
-  public Key key; // required
-  public java.nio.ByteBuffer value; // required
+  public @org.apache.thrift.annotation.Nullable Key key; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer value; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // KEY
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -143,11 +144,12 @@
     this.value = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public Key getKey() {
     return this.key;
   }
 
-  public KeyValue setKey(Key key) {
+  public KeyValue setKey(@org.apache.thrift.annotation.Nullable Key key) {
     this.key = key;
     return this;
   }
@@ -177,11 +179,11 @@
   }
 
   public KeyValue setValue(byte[] value) {
-    this.value = value == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(value.clone());
+    this.value = value == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(value.clone());
     return this;
   }
 
-  public KeyValue setValue(java.nio.ByteBuffer value) {
+  public KeyValue setValue(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer value) {
     this.value = org.apache.thrift.TBaseHelper.copyBinary(value);
     return this;
   }
@@ -201,7 +203,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case KEY:
       if (value == null) {
@@ -226,6 +228,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case KEY:
@@ -335,6 +338,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/KeyValueAndPeek.java b/src/main/java/org/apache/accumulo/proxy/thrift/KeyValueAndPeek.java
index c5bd169..917c789 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/KeyValueAndPeek.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/KeyValueAndPeek.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class KeyValueAndPeek implements org.apache.thrift.TBase<KeyValueAndPeek, KeyValueAndPeek._Fields>, java.io.Serializable, Cloneable, Comparable<KeyValueAndPeek> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("KeyValueAndPeek");
 
@@ -33,7 +32,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new KeyValueAndPeekStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new KeyValueAndPeekTupleSchemeFactory();
 
-  public KeyValue keyValue; // required
+  public @org.apache.thrift.annotation.Nullable KeyValue keyValue; // required
   public boolean hasNext; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // KEY_VALUE
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -146,11 +147,12 @@
     this.hasNext = false;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public KeyValue getKeyValue() {
     return this.keyValue;
   }
 
-  public KeyValueAndPeek setKeyValue(KeyValue keyValue) {
+  public KeyValueAndPeek setKeyValue(@org.apache.thrift.annotation.Nullable KeyValue keyValue) {
     this.keyValue = keyValue;
     return this;
   }
@@ -193,7 +195,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __HASNEXT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case KEY_VALUE:
       if (value == null) {
@@ -214,6 +216,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case KEY_VALUE:
@@ -321,6 +324,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/MutationsRejectedException.java b/src/main/java/org/apache/accumulo/proxy/thrift/MutationsRejectedException.java
index b534c10..b960cf4 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/MutationsRejectedException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/MutationsRejectedException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class MutationsRejectedException extends org.apache.thrift.TException implements org.apache.thrift.TBase<MutationsRejectedException, MutationsRejectedException._Fields>, java.io.Serializable, Cloneable, Comparable<MutationsRejectedException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MutationsRejectedException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new MutationsRejectedExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new MutationsRejectedExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public MutationsRejectedException setMsg(java.lang.String msg) {
+  public MutationsRejectedException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceExistsException.java b/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceExistsException.java
index eade4b9..58a4618 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceExistsException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceExistsException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class NamespaceExistsException extends org.apache.thrift.TException implements org.apache.thrift.TBase<NamespaceExistsException, NamespaceExistsException._Fields>, java.io.Serializable, Cloneable, Comparable<NamespaceExistsException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NamespaceExistsException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NamespaceExistsExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NamespaceExistsExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public NamespaceExistsException setMsg(java.lang.String msg) {
+  public NamespaceExistsException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotEmptyException.java b/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotEmptyException.java
index 478dd92..612929a 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotEmptyException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotEmptyException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class NamespaceNotEmptyException extends org.apache.thrift.TException implements org.apache.thrift.TBase<NamespaceNotEmptyException, NamespaceNotEmptyException._Fields>, java.io.Serializable, Cloneable, Comparable<NamespaceNotEmptyException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NamespaceNotEmptyException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NamespaceNotEmptyExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NamespaceNotEmptyExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public NamespaceNotEmptyException setMsg(java.lang.String msg) {
+  public NamespaceNotEmptyException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotFoundException.java b/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotFoundException.java
index 1a93e57..fa05c3c 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotFoundException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/NamespaceNotFoundException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class NamespaceNotFoundException extends org.apache.thrift.TException implements org.apache.thrift.TBase<NamespaceNotFoundException, NamespaceNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<NamespaceNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NamespaceNotFoundException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NamespaceNotFoundExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NamespaceNotFoundExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public NamespaceNotFoundException setMsg(java.lang.String msg) {
+  public NamespaceNotFoundException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/NamespacePermission.java b/src/main/java/org/apache/accumulo/proxy/thrift/NamespacePermission.java
index a49f127..6d53173 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/NamespacePermission.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/NamespacePermission.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -51,6 +51,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static NamespacePermission findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/NoMoreEntriesException.java b/src/main/java/org/apache/accumulo/proxy/thrift/NoMoreEntriesException.java
index 8ba03bb..859aaeb 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/NoMoreEntriesException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/NoMoreEntriesException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class NoMoreEntriesException extends org.apache.thrift.TException implements org.apache.thrift.TBase<NoMoreEntriesException, NoMoreEntriesException._Fields>, java.io.Serializable, Cloneable, Comparable<NoMoreEntriesException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NoMoreEntriesException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NoMoreEntriesExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NoMoreEntriesExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public NoMoreEntriesException setMsg(java.lang.String msg) {
+  public NoMoreEntriesException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/PartialKey.java b/src/main/java/org/apache/accumulo/proxy/thrift/PartialKey.java
index 4958f14..b72d97c 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/PartialKey.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/PartialKey.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -48,6 +48,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static PartialKey findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/Range.java b/src/main/java/org/apache/accumulo/proxy/thrift/Range.java
index 188a894..533f371 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/Range.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/Range.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class Range implements org.apache.thrift.TBase<Range, Range._Fields>, java.io.Serializable, Cloneable, Comparable<Range> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Range");
 
@@ -35,9 +34,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new RangeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new RangeTupleSchemeFactory();
 
-  public Key start; // required
+  public @org.apache.thrift.annotation.Nullable Key start; // required
   public boolean startInclusive; // required
-  public Key stop; // required
+  public @org.apache.thrift.annotation.Nullable Key stop; // required
   public boolean stopInclusive; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -58,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // START
@@ -86,6 +86,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -173,11 +174,12 @@
     this.stopInclusive = false;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public Key getStart() {
     return this.start;
   }
 
-  public Range setStart(Key start) {
+  public Range setStart(@org.apache.thrift.annotation.Nullable Key start) {
     this.start = start;
     return this;
   }
@@ -220,11 +222,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __STARTINCLUSIVE_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public Key getStop() {
     return this.stop;
   }
 
-  public Range setStop(Key stop) {
+  public Range setStop(@org.apache.thrift.annotation.Nullable Key stop) {
     this.stop = stop;
     return this;
   }
@@ -267,7 +270,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __STOPINCLUSIVE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case START:
       if (value == null) {
@@ -304,6 +307,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case START:
@@ -465,6 +469,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ScanColumn.java b/src/main/java/org/apache/accumulo/proxy/thrift/ScanColumn.java
index 774c4a0..63a1e37 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ScanColumn.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ScanColumn.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ScanColumn implements org.apache.thrift.TBase<ScanColumn, ScanColumn._Fields>, java.io.Serializable, Cloneable, Comparable<ScanColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ScanColumn");
 
@@ -33,8 +32,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ScanColumnStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ScanColumnTupleSchemeFactory();
 
-  public java.nio.ByteBuffer colFamily; // required
-  public java.nio.ByteBuffer colQualifier; // optional
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COL_FAMILY
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -152,11 +153,11 @@
   }
 
   public ScanColumn setColFamily(byte[] colFamily) {
-    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colFamily.clone());
+    this.colFamily = colFamily == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colFamily.clone());
     return this;
   }
 
-  public ScanColumn setColFamily(java.nio.ByteBuffer colFamily) {
+  public ScanColumn setColFamily(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colFamily) {
     this.colFamily = org.apache.thrift.TBaseHelper.copyBinary(colFamily);
     return this;
   }
@@ -186,11 +187,11 @@
   }
 
   public ScanColumn setColQualifier(byte[] colQualifier) {
-    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(colQualifier.clone());
+    this.colQualifier = colQualifier == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(colQualifier.clone());
     return this;
   }
 
-  public ScanColumn setColQualifier(java.nio.ByteBuffer colQualifier) {
+  public ScanColumn setColQualifier(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer colQualifier) {
     this.colQualifier = org.apache.thrift.TBaseHelper.copyBinary(colQualifier);
     return this;
   }
@@ -210,7 +211,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COL_FAMILY:
       if (value == null) {
@@ -239,6 +240,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COL_FAMILY:
@@ -348,6 +350,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ScanOptions.java b/src/main/java/org/apache/accumulo/proxy/thrift/ScanOptions.java
index dbcbf5f..d2d35a5 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ScanOptions.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ScanOptions.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ScanOptions implements org.apache.thrift.TBase<ScanOptions, ScanOptions._Fields>, java.io.Serializable, Cloneable, Comparable<ScanOptions> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ScanOptions");
 
@@ -36,10 +35,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ScanOptionsStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ScanOptionsTupleSchemeFactory();
 
-  public java.util.Set<java.nio.ByteBuffer> authorizations; // optional
-  public Range range; // optional
-  public java.util.List<ScanColumn> columns; // optional
-  public java.util.List<IteratorSetting> iterators; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations; // optional
+  public @org.apache.thrift.annotation.Nullable Range range; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<ScanColumn> columns; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators; // optional
   public int bufferSize; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -61,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AUTHORIZATIONS
@@ -91,6 +91,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -186,6 +187,7 @@
     return (this.authorizations == null) ? 0 : this.authorizations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.nio.ByteBuffer> getAuthorizationsIterator() {
     return (this.authorizations == null) ? null : this.authorizations.iterator();
   }
@@ -197,11 +199,12 @@
     this.authorizations.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Set<java.nio.ByteBuffer> getAuthorizations() {
     return this.authorizations;
   }
 
-  public ScanOptions setAuthorizations(java.util.Set<java.nio.ByteBuffer> authorizations) {
+  public ScanOptions setAuthorizations(@org.apache.thrift.annotation.Nullable java.util.Set<java.nio.ByteBuffer> authorizations) {
     this.authorizations = authorizations;
     return this;
   }
@@ -221,11 +224,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public Range getRange() {
     return this.range;
   }
 
-  public ScanOptions setRange(Range range) {
+  public ScanOptions setRange(@org.apache.thrift.annotation.Nullable Range range) {
     this.range = range;
     return this;
   }
@@ -249,6 +253,7 @@
     return (this.columns == null) ? 0 : this.columns.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ScanColumn> getColumnsIterator() {
     return (this.columns == null) ? null : this.columns.iterator();
   }
@@ -260,11 +265,12 @@
     this.columns.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ScanColumn> getColumns() {
     return this.columns;
   }
 
-  public ScanOptions setColumns(java.util.List<ScanColumn> columns) {
+  public ScanOptions setColumns(@org.apache.thrift.annotation.Nullable java.util.List<ScanColumn> columns) {
     this.columns = columns;
     return this;
   }
@@ -288,6 +294,7 @@
     return (this.iterators == null) ? 0 : this.iterators.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<IteratorSetting> getIteratorsIterator() {
     return (this.iterators == null) ? null : this.iterators.iterator();
   }
@@ -299,11 +306,12 @@
     this.iterators.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<IteratorSetting> getIterators() {
     return this.iterators;
   }
 
-  public ScanOptions setIterators(java.util.List<IteratorSetting> iterators) {
+  public ScanOptions setIterators(@org.apache.thrift.annotation.Nullable java.util.List<IteratorSetting> iterators) {
     this.iterators = iterators;
     return this;
   }
@@ -346,7 +354,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __BUFFERSIZE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AUTHORIZATIONS:
       if (value == null) {
@@ -391,6 +399,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AUTHORIZATIONS:
@@ -584,6 +593,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -699,7 +709,7 @@
               {
                 org.apache.thrift.protocol.TSet _set26 = iprot.readSetBegin();
                 struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set26.size);
-                java.nio.ByteBuffer _elem27;
+                @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem27;
                 for (int _i28 = 0; _i28 < _set26.size; ++_i28)
                 {
                   _elem27 = iprot.readBinary();
@@ -726,7 +736,7 @@
               {
                 org.apache.thrift.protocol.TList _list29 = iprot.readListBegin();
                 struct.columns = new java.util.ArrayList<ScanColumn>(_list29.size);
-                ScanColumn _elem30;
+                @org.apache.thrift.annotation.Nullable ScanColumn _elem30;
                 for (int _i31 = 0; _i31 < _list29.size; ++_i31)
                 {
                   _elem30 = new ScanColumn();
@@ -745,7 +755,7 @@
               {
                 org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                 struct.iterators = new java.util.ArrayList<IteratorSetting>(_list32.size);
-                IteratorSetting _elem33;
+                @org.apache.thrift.annotation.Nullable IteratorSetting _elem33;
                 for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                 {
                   _elem33 = new IteratorSetting();
@@ -913,7 +923,7 @@
         {
           org.apache.thrift.protocol.TSet _set41 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
           struct.authorizations = new java.util.HashSet<java.nio.ByteBuffer>(2*_set41.size);
-          java.nio.ByteBuffer _elem42;
+          @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer _elem42;
           for (int _i43 = 0; _i43 < _set41.size; ++_i43)
           {
             _elem42 = iprot.readBinary();
@@ -931,7 +941,7 @@
         {
           org.apache.thrift.protocol.TList _list44 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.columns = new java.util.ArrayList<ScanColumn>(_list44.size);
-          ScanColumn _elem45;
+          @org.apache.thrift.annotation.Nullable ScanColumn _elem45;
           for (int _i46 = 0; _i46 < _list44.size; ++_i46)
           {
             _elem45 = new ScanColumn();
@@ -945,7 +955,7 @@
         {
           org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.iterators = new java.util.ArrayList<IteratorSetting>(_list47.size);
-          IteratorSetting _elem48;
+          @org.apache.thrift.annotation.Nullable IteratorSetting _elem48;
           for (int _i49 = 0; _i49 < _list47.size; ++_i49)
           {
             _elem48 = new IteratorSetting();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ScanResult.java b/src/main/java/org/apache/accumulo/proxy/thrift/ScanResult.java
index a8d1ece..d0d5a0c 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ScanResult.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ScanResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class ScanResult implements org.apache.thrift.TBase<ScanResult, ScanResult._Fields>, java.io.Serializable, Cloneable, Comparable<ScanResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ScanResult");
 
@@ -33,7 +32,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ScanResultStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ScanResultTupleSchemeFactory();
 
-  public java.util.List<KeyValue> results; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<KeyValue> results; // required
   public boolean more; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -52,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESULTS
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -155,6 +156,7 @@
     return (this.results == null) ? 0 : this.results.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<KeyValue> getResultsIterator() {
     return (this.results == null) ? null : this.results.iterator();
   }
@@ -166,11 +168,12 @@
     this.results.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<KeyValue> getResults() {
     return this.results;
   }
 
-  public ScanResult setResults(java.util.List<KeyValue> results) {
+  public ScanResult setResults(@org.apache.thrift.annotation.Nullable java.util.List<KeyValue> results) {
     this.results = results;
     return this;
   }
@@ -213,7 +216,7 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __MORE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESULTS:
       if (value == null) {
@@ -234,6 +237,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESULTS:
@@ -341,6 +345,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -419,7 +424,7 @@
               {
                 org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                 struct.results = new java.util.ArrayList<KeyValue>(_list8.size);
-                KeyValue _elem9;
+                @org.apache.thrift.annotation.Nullable KeyValue _elem9;
                 for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                 {
                   _elem9 = new KeyValue();
@@ -518,7 +523,7 @@
         {
           org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
           struct.results = new java.util.ArrayList<KeyValue>(_list13.size);
-          KeyValue _elem14;
+          @org.apache.thrift.annotation.Nullable KeyValue _elem14;
           for (int _i15 = 0; _i15 < _list13.size; ++_i15)
           {
             _elem14 = new KeyValue();
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ScanState.java b/src/main/java/org/apache/accumulo/proxy/thrift/ScanState.java
index c186e3f..e5cc041 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ScanState.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ScanState.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -45,6 +45,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ScanState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/ScanType.java b/src/main/java/org/apache/accumulo/proxy/thrift/ScanType.java
index 436d6c7..9254b8b 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/ScanType.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/ScanType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -44,6 +44,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ScanType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java b/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java
index 4964ef3..bc2557f 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/SystemPermission.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -54,6 +54,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static SystemPermission findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/TableExistsException.java b/src/main/java/org/apache/accumulo/proxy/thrift/TableExistsException.java
index e0729e1..fc09095 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/TableExistsException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/TableExistsException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class TableExistsException extends org.apache.thrift.TException implements org.apache.thrift.TBase<TableExistsException, TableExistsException._Fields>, java.io.Serializable, Cloneable, Comparable<TableExistsException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TableExistsException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TableExistsExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TableExistsExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public TableExistsException setMsg(java.lang.String msg) {
+  public TableExistsException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/TableNotFoundException.java b/src/main/java/org/apache/accumulo/proxy/thrift/TableNotFoundException.java
index 29f6229..3c465af 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/TableNotFoundException.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/TableNotFoundException.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class TableNotFoundException extends org.apache.thrift.TException implements org.apache.thrift.TBase<TableNotFoundException, TableNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<TableNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TableNotFoundException");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TableNotFoundExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TableNotFoundExceptionTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public TableNotFoundException setMsg(java.lang.String msg) {
+  public TableNotFoundException setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/TablePermission.java b/src/main/java/org/apache/accumulo/proxy/thrift/TablePermission.java
index e63cbd2..b9716b2 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/TablePermission.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/TablePermission.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -48,6 +48,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static TablePermission findByValue(int value) { 
     switch (value) {
       case 2:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/TimeType.java b/src/main/java/org/apache/accumulo/proxy/thrift/TimeType.java
index b04579f..41c54ee 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/TimeType.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/TimeType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -44,6 +44,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static TimeType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/UnknownScanner.java b/src/main/java/org/apache/accumulo/proxy/thrift/UnknownScanner.java
index 466f409..09bba8e 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/UnknownScanner.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/UnknownScanner.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class UnknownScanner extends org.apache.thrift.TException implements org.apache.thrift.TBase<UnknownScanner, UnknownScanner._Fields>, java.io.Serializable, Cloneable, Comparable<UnknownScanner> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnknownScanner");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UnknownScannerStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UnknownScannerTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public UnknownScanner setMsg(java.lang.String msg) {
+  public UnknownScanner setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/UnknownWriter.java b/src/main/java/org/apache/accumulo/proxy/thrift/UnknownWriter.java
index c7ad84b..d7c8e48 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/UnknownWriter.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/UnknownWriter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class UnknownWriter extends org.apache.thrift.TException implements org.apache.thrift.TBase<UnknownWriter, UnknownWriter._Fields>, java.io.Serializable, Cloneable, Comparable<UnknownWriter> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnknownWriter");
 
@@ -32,7 +31,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UnknownWriterStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UnknownWriterTupleSchemeFactory();
 
-  public java.lang.String msg; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String msg; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -49,6 +48,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MSG
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,11 +131,12 @@
     this.msg = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMsg() {
     return this.msg;
   }
 
-  public UnknownWriter setMsg(java.lang.String msg) {
+  public UnknownWriter setMsg(@org.apache.thrift.annotation.Nullable java.lang.String msg) {
     this.msg = msg;
     return this;
   }
@@ -154,7 +156,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MSG:
       if (value == null) {
@@ -167,6 +169,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MSG:
@@ -248,6 +251,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/java/org/apache/accumulo/proxy/thrift/WriterOptions.java b/src/main/java/org/apache/accumulo/proxy/thrift/WriterOptions.java
index 25e1ddf..2e29522 100644
--- a/src/main/java/org/apache/accumulo/proxy/thrift/WriterOptions.java
+++ b/src/main/java/org/apache/accumulo/proxy/thrift/WriterOptions.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.11.0)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -23,7 +23,6 @@
 package org.apache.accumulo.proxy.thrift;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.11.0)")
 public class WriterOptions implements org.apache.thrift.TBase<WriterOptions, WriterOptions._Fields>, java.io.Serializable, Cloneable, Comparable<WriterOptions> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WriterOptions");
 
@@ -44,7 +43,7 @@
    * 
    * @see Durability
    */
-  public Durability durability; // optional
+  public @org.apache.thrift.annotation.Nullable Durability durability; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -69,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MAX_MEMORY
@@ -99,6 +99,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -291,6 +292,7 @@
    * 
    * @see Durability
    */
+  @org.apache.thrift.annotation.Nullable
   public Durability getDurability() {
     return this.durability;
   }
@@ -299,7 +301,7 @@
    * 
    * @see Durability
    */
-  public WriterOptions setDurability(Durability durability) {
+  public WriterOptions setDurability(@org.apache.thrift.annotation.Nullable Durability durability) {
     this.durability = durability;
     return this;
   }
@@ -319,7 +321,7 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MAX_MEMORY:
       if (value == null) {
@@ -364,6 +366,7 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MAX_MEMORY:
@@ -549,6 +552,7 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
diff --git a/src/main/python/AccumuloProxy-remote b/src/main/python/AccumuloProxy-remote
index 47d7ab9..642f66f 100644
--- a/src/main/python/AccumuloProxy-remote
+++ b/src/main/python/AccumuloProxy-remote
@@ -14,7 +14,7 @@
 # limitations under the License.
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/src/main/python/AccumuloProxy.py b/src/main/python/AccumuloProxy.py
index 835a80b..0cf9111 100644
--- a/src/main/python/AccumuloProxy.py
+++ b/src/main/python/AccumuloProxy.py
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -38,6 +38,7 @@
         Parameters:
          - principal
          - loginProperties
+
         """
         pass
 
@@ -47,6 +48,7 @@
          - login
          - tableName
          - constraintClassName
+
         """
         pass
 
@@ -56,6 +58,7 @@
          - login
          - tableName
          - splits
+
         """
         pass
 
@@ -66,6 +69,7 @@
          - tableName
          - setting
          - scopes
+
         """
         pass
 
@@ -76,6 +80,7 @@
          - tableName
          - setting
          - scopes
+
         """
         pass
 
@@ -84,6 +89,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -96,6 +102,7 @@
          - flush
          - propertiesToSet
          - propertiesToExclude
+
         """
         pass
 
@@ -110,6 +117,7 @@
          - flush
          - wait
          - compactionStrategy
+
         """
         pass
 
@@ -118,6 +126,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -128,6 +137,7 @@
          - tableName
          - versioningIter
          - type
+
         """
         pass
 
@@ -136,6 +146,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -146,6 +157,7 @@
          - tableName
          - startRow
          - endRow
+
         """
         pass
 
@@ -155,6 +167,7 @@
          - login
          - tableName
          - exportDir
+
         """
         pass
 
@@ -166,6 +179,7 @@
          - startRow
          - endRow
          - wait
+
         """
         pass
 
@@ -174,6 +188,7 @@
         Parameters:
          - login
          - tables
+
         """
         pass
 
@@ -182,6 +197,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -192,6 +208,7 @@
          - tableName
          - iteratorName
          - scope
+
         """
         pass
 
@@ -205,6 +222,7 @@
          - startInclusive
          - endRow
          - endInclusive
+
         """
         pass
 
@@ -213,6 +231,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -224,6 +243,7 @@
          - importDir
          - failureDir
          - setTime
+
         """
         pass
 
@@ -233,6 +253,7 @@
          - login
          - tableName
          - importDir
+
         """
         pass
 
@@ -242,6 +263,7 @@
          - login
          - tableName
          - maxSplits
+
         """
         pass
 
@@ -249,6 +271,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -257,6 +280,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -265,6 +289,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -275,6 +300,7 @@
          - tableName
          - startRow
          - endRow
+
         """
         pass
 
@@ -284,6 +310,7 @@
          - login
          - tableName
          - wait
+
         """
         pass
 
@@ -293,6 +320,7 @@
          - login
          - tableName
          - wait
+
         """
         pass
 
@@ -302,6 +330,7 @@
          - login
          - tableName
          - constraint
+
         """
         pass
 
@@ -312,6 +341,7 @@
          - tableName
          - iterName
          - scopes
+
         """
         pass
 
@@ -321,6 +351,7 @@
          - login
          - tableName
          - property
+
         """
         pass
 
@@ -330,6 +361,7 @@
          - login
          - oldTableName
          - newTableName
+
         """
         pass
 
@@ -339,6 +371,7 @@
          - login
          - tableName
          - groups
+
         """
         pass
 
@@ -349,6 +382,7 @@
          - tableName
          - property
          - value
+
         """
         pass
 
@@ -359,6 +393,7 @@
          - tableName
          - range
          - maxSplits
+
         """
         pass
 
@@ -367,6 +402,7 @@
         Parameters:
          - login
          - tableName
+
         """
         pass
 
@@ -374,6 +410,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -384,6 +421,7 @@
          - tableName
          - className
          - asTypeName
+
         """
         pass
 
@@ -392,6 +430,7 @@
         Parameters:
          - login
          - tserver
+
         """
         pass
 
@@ -400,6 +439,7 @@
         Parameters:
          - login
          - tserver
+
         """
         pass
 
@@ -408,6 +448,7 @@
         Parameters:
          - login
          - tserver
+
         """
         pass
 
@@ -415,6 +456,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -422,6 +464,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -429,6 +472,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -437,6 +481,7 @@
         Parameters:
          - login
          - property
+
         """
         pass
 
@@ -446,6 +491,7 @@
          - login
          - property
          - value
+
         """
         pass
 
@@ -455,6 +501,7 @@
          - login
          - className
          - asTypeName
+
         """
         pass
 
@@ -464,6 +511,7 @@
          - login
          - user
          - properties
+
         """
         pass
 
@@ -473,6 +521,7 @@
          - login
          - user
          - authorizations
+
         """
         pass
 
@@ -482,6 +531,7 @@
          - login
          - user
          - password
+
         """
         pass
 
@@ -491,6 +541,7 @@
          - login
          - user
          - password
+
         """
         pass
 
@@ -499,6 +550,7 @@
         Parameters:
          - login
          - user
+
         """
         pass
 
@@ -507,6 +559,7 @@
         Parameters:
          - login
          - user
+
         """
         pass
 
@@ -516,6 +569,7 @@
          - login
          - user
          - perm
+
         """
         pass
 
@@ -526,6 +580,7 @@
          - user
          - table
          - perm
+
         """
         pass
 
@@ -535,6 +590,7 @@
          - login
          - user
          - perm
+
         """
         pass
 
@@ -545,6 +601,7 @@
          - user
          - table
          - perm
+
         """
         pass
 
@@ -552,6 +609,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -561,6 +619,7 @@
          - login
          - user
          - perm
+
         """
         pass
 
@@ -571,6 +630,7 @@
          - user
          - table
          - perm
+
         """
         pass
 
@@ -581,6 +641,7 @@
          - user
          - namespaceName
          - perm
+
         """
         pass
 
@@ -591,6 +652,7 @@
          - user
          - namespaceName
          - perm
+
         """
         pass
 
@@ -601,6 +663,7 @@
          - user
          - namespaceName
          - perm
+
         """
         pass
 
@@ -610,6 +673,7 @@
          - login
          - tableName
          - options
+
         """
         pass
 
@@ -619,6 +683,7 @@
          - login
          - tableName
          - options
+
         """
         pass
 
@@ -626,6 +691,7 @@
         """
         Parameters:
          - scanner
+
         """
         pass
 
@@ -633,6 +699,7 @@
         """
         Parameters:
          - scanner
+
         """
         pass
 
@@ -641,6 +708,7 @@
         Parameters:
          - scanner
          - k
+
         """
         pass
 
@@ -648,6 +716,7 @@
         """
         Parameters:
          - scanner
+
         """
         pass
 
@@ -657,6 +726,7 @@
          - login
          - tableName
          - cells
+
         """
         pass
 
@@ -666,6 +736,7 @@
          - login
          - tableName
          - opts
+
         """
         pass
 
@@ -674,6 +745,7 @@
         Parameters:
          - writer
          - cells
+
         """
         pass
 
@@ -681,6 +753,7 @@
         """
         Parameters:
          - writer
+
         """
         pass
 
@@ -688,6 +761,7 @@
         """
         Parameters:
          - writer
+
         """
         pass
 
@@ -698,6 +772,7 @@
          - tableName
          - row
          - updates
+
         """
         pass
 
@@ -707,6 +782,7 @@
          - login
          - tableName
          - options
+
         """
         pass
 
@@ -715,6 +791,7 @@
         Parameters:
          - conditionalWriter
          - updates
+
         """
         pass
 
@@ -722,6 +799,7 @@
         """
         Parameters:
          - conditionalWriter
+
         """
         pass
 
@@ -729,6 +807,7 @@
         """
         Parameters:
          - row
+
         """
         pass
 
@@ -737,6 +816,7 @@
         Parameters:
          - key
          - part
+
         """
         pass
 
@@ -750,6 +830,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -758,6 +839,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         pass
 
@@ -766,6 +848,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         pass
 
@@ -774,6 +857,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         pass
 
@@ -783,6 +867,7 @@
          - login
          - oldNamespaceName
          - newNamespaceName
+
         """
         pass
 
@@ -793,6 +878,7 @@
          - namespaceName
          - property
          - value
+
         """
         pass
 
@@ -802,6 +888,7 @@
          - login
          - namespaceName
          - property
+
         """
         pass
 
@@ -810,6 +897,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         pass
 
@@ -817,6 +905,7 @@
         """
         Parameters:
          - login
+
         """
         pass
 
@@ -827,6 +916,7 @@
          - namespaceName
          - setting
          - scopes
+
         """
         pass
 
@@ -837,6 +927,7 @@
          - namespaceName
          - name
          - scopes
+
         """
         pass
 
@@ -847,6 +938,7 @@
          - namespaceName
          - name
          - scope
+
         """
         pass
 
@@ -855,6 +947,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         pass
 
@@ -865,6 +958,7 @@
          - namespaceName
          - setting
          - scopes
+
         """
         pass
 
@@ -874,6 +968,7 @@
          - login
          - namespaceName
          - constraintClassName
+
         """
         pass
 
@@ -883,6 +978,7 @@
          - login
          - namespaceName
          - id
+
         """
         pass
 
@@ -891,6 +987,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         pass
 
@@ -901,6 +998,7 @@
          - namespaceName
          - className
          - asTypeName
+
         """
         pass
 
@@ -917,6 +1015,7 @@
         Parameters:
          - principal
          - loginProperties
+
         """
         self.send_login(principal, loginProperties)
         return self.recv_login()
@@ -953,6 +1052,7 @@
          - login
          - tableName
          - constraintClassName
+
         """
         self.send_addConstraint(login, tableName, constraintClassName)
         return self.recv_addConstraint()
@@ -994,6 +1094,7 @@
          - login
          - tableName
          - splits
+
         """
         self.send_addSplits(login, tableName, splits)
         self.recv_addSplits()
@@ -1034,6 +1135,7 @@
          - tableName
          - setting
          - scopes
+
         """
         self.send_attachIterator(login, tableName, setting, scopes)
         self.recv_attachIterator()
@@ -1075,6 +1177,7 @@
          - tableName
          - setting
          - scopes
+
         """
         self.send_checkIteratorConflicts(login, tableName, setting, scopes)
         self.recv_checkIteratorConflicts()
@@ -1114,6 +1217,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_clearLocatorCache(login, tableName)
         self.recv_clearLocatorCache()
@@ -1151,6 +1255,7 @@
          - flush
          - propertiesToSet
          - propertiesToExclude
+
         """
         self.send_cloneTable(login, tableName, newTableName, flush, propertiesToSet, propertiesToExclude)
         self.recv_cloneTable()
@@ -1200,6 +1305,7 @@
          - flush
          - wait
          - compactionStrategy
+
         """
         self.send_compactTable(login, tableName, startRow, endRow, iterators, flush, wait, compactionStrategy)
         self.recv_compactTable()
@@ -1243,6 +1349,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_cancelCompaction(login, tableName)
         self.recv_cancelCompaction()
@@ -1282,6 +1389,7 @@
          - tableName
          - versioningIter
          - type
+
         """
         self.send_createTable(login, tableName, versioningIter, type)
         self.recv_createTable()
@@ -1321,6 +1429,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_deleteTable(login, tableName)
         self.recv_deleteTable()
@@ -1360,6 +1469,7 @@
          - tableName
          - startRow
          - endRow
+
         """
         self.send_deleteRows(login, tableName, startRow, endRow)
         self.recv_deleteRows()
@@ -1400,6 +1510,7 @@
          - login
          - tableName
          - exportDir
+
         """
         self.send_exportTable(login, tableName, exportDir)
         self.recv_exportTable()
@@ -1441,6 +1552,7 @@
          - startRow
          - endRow
          - wait
+
         """
         self.send_flushTable(login, tableName, startRow, endRow, wait)
         self.recv_flushTable()
@@ -1481,6 +1593,7 @@
         Parameters:
          - login
          - tables
+
         """
         self.send_getDiskUsage(login, tables)
         return self.recv_getDiskUsage()
@@ -1520,6 +1633,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_getLocalityGroups(login, tableName)
         return self.recv_getLocalityGroups()
@@ -1561,6 +1675,7 @@
          - tableName
          - iteratorName
          - scope
+
         """
         self.send_getIteratorSetting(login, tableName, iteratorName, scope)
         return self.recv_getIteratorSetting()
@@ -1607,6 +1722,7 @@
          - startInclusive
          - endRow
          - endInclusive
+
         """
         self.send_getMaxRow(login, tableName, auths, startRow, startInclusive, endRow, endInclusive)
         return self.recv_getMaxRow()
@@ -1651,6 +1767,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_getTableProperties(login, tableName)
         return self.recv_getTableProperties()
@@ -1693,6 +1810,7 @@
          - importDir
          - failureDir
          - setTime
+
         """
         self.send_importDirectory(login, tableName, importDir, failureDir, setTime)
         self.recv_importDirectory()
@@ -1734,6 +1852,7 @@
          - login
          - tableName
          - importDir
+
         """
         self.send_importTable(login, tableName, importDir)
         self.recv_importTable()
@@ -1773,6 +1892,7 @@
          - login
          - tableName
          - maxSplits
+
         """
         self.send_listSplits(login, tableName, maxSplits)
         return self.recv_listSplits()
@@ -1812,6 +1932,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_listTables(login)
         return self.recv_listTables()
@@ -1844,6 +1965,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_listIterators(login, tableName)
         return self.recv_listIterators()
@@ -1883,6 +2005,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_listConstraints(login, tableName)
         return self.recv_listConstraints()
@@ -1924,6 +2047,7 @@
          - tableName
          - startRow
          - endRow
+
         """
         self.send_mergeTablets(login, tableName, startRow, endRow)
         self.recv_mergeTablets()
@@ -1964,6 +2088,7 @@
          - login
          - tableName
          - wait
+
         """
         self.send_offlineTable(login, tableName, wait)
         self.recv_offlineTable()
@@ -2003,6 +2128,7 @@
          - login
          - tableName
          - wait
+
         """
         self.send_onlineTable(login, tableName, wait)
         self.recv_onlineTable()
@@ -2042,6 +2168,7 @@
          - login
          - tableName
          - constraint
+
         """
         self.send_removeConstraint(login, tableName, constraint)
         self.recv_removeConstraint()
@@ -2082,6 +2209,7 @@
          - tableName
          - iterName
          - scopes
+
         """
         self.send_removeIterator(login, tableName, iterName, scopes)
         self.recv_removeIterator()
@@ -2122,6 +2250,7 @@
          - login
          - tableName
          - property
+
         """
         self.send_removeTableProperty(login, tableName, property)
         self.recv_removeTableProperty()
@@ -2161,6 +2290,7 @@
          - login
          - oldTableName
          - newTableName
+
         """
         self.send_renameTable(login, oldTableName, newTableName)
         self.recv_renameTable()
@@ -2202,6 +2332,7 @@
          - login
          - tableName
          - groups
+
         """
         self.send_setLocalityGroups(login, tableName, groups)
         self.recv_setLocalityGroups()
@@ -2242,6 +2373,7 @@
          - tableName
          - property
          - value
+
         """
         self.send_setTableProperty(login, tableName, property, value)
         self.recv_setTableProperty()
@@ -2283,6 +2415,7 @@
          - tableName
          - range
          - maxSplits
+
         """
         self.send_splitRangeByTablets(login, tableName, range, maxSplits)
         return self.recv_splitRangeByTablets()
@@ -2324,6 +2457,7 @@
         Parameters:
          - login
          - tableName
+
         """
         self.send_tableExists(login, tableName)
         return self.recv_tableExists()
@@ -2356,6 +2490,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_tableIdMap(login)
         return self.recv_tableIdMap()
@@ -2390,6 +2525,7 @@
          - tableName
          - className
          - asTypeName
+
         """
         self.send_testTableClassLoad(login, tableName, className, asTypeName)
         return self.recv_testTableClassLoad()
@@ -2431,6 +2567,7 @@
         Parameters:
          - login
          - tserver
+
         """
         self.send_pingTabletServer(login, tserver)
         self.recv_pingTabletServer()
@@ -2466,6 +2603,7 @@
         Parameters:
          - login
          - tserver
+
         """
         self.send_getActiveScans(login, tserver)
         return self.recv_getActiveScans()
@@ -2503,6 +2641,7 @@
         Parameters:
          - login
          - tserver
+
         """
         self.send_getActiveCompactions(login, tserver)
         return self.recv_getActiveCompactions()
@@ -2539,6 +2678,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_getSiteConfiguration(login)
         return self.recv_getSiteConfiguration()
@@ -2574,6 +2714,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_getSystemConfiguration(login)
         return self.recv_getSystemConfiguration()
@@ -2609,6 +2750,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_getTabletServers(login)
         return self.recv_getTabletServers()
@@ -2641,6 +2783,7 @@
         Parameters:
          - login
          - property
+
         """
         self.send_removeProperty(login, property)
         self.recv_removeProperty()
@@ -2677,6 +2820,7 @@
          - login
          - property
          - value
+
         """
         self.send_setProperty(login, property, value)
         self.recv_setProperty()
@@ -2714,6 +2858,7 @@
          - login
          - className
          - asTypeName
+
         """
         self.send_testClassLoad(login, className, asTypeName)
         return self.recv_testClassLoad()
@@ -2753,6 +2898,7 @@
          - login
          - user
          - properties
+
         """
         self.send_authenticateUser(login, user, properties)
         return self.recv_authenticateUser()
@@ -2792,6 +2938,7 @@
          - login
          - user
          - authorizations
+
         """
         self.send_changeUserAuthorizations(login, user, authorizations)
         self.recv_changeUserAuthorizations()
@@ -2829,6 +2976,7 @@
          - login
          - user
          - password
+
         """
         self.send_changeLocalUserPassword(login, user, password)
         self.recv_changeLocalUserPassword()
@@ -2866,6 +3014,7 @@
          - login
          - user
          - password
+
         """
         self.send_createLocalUser(login, user, password)
         self.recv_createLocalUser()
@@ -2902,6 +3051,7 @@
         Parameters:
          - login
          - user
+
         """
         self.send_dropLocalUser(login, user)
         self.recv_dropLocalUser()
@@ -2937,6 +3087,7 @@
         Parameters:
          - login
          - user
+
         """
         self.send_getUserAuthorizations(login, user)
         return self.recv_getUserAuthorizations()
@@ -2975,6 +3126,7 @@
          - login
          - user
          - perm
+
         """
         self.send_grantSystemPermission(login, user, perm)
         self.recv_grantSystemPermission()
@@ -3013,6 +3165,7 @@
          - user
          - table
          - perm
+
         """
         self.send_grantTablePermission(login, user, table, perm)
         self.recv_grantTablePermission()
@@ -3053,6 +3206,7 @@
          - login
          - user
          - perm
+
         """
         self.send_hasSystemPermission(login, user, perm)
         return self.recv_hasSystemPermission()
@@ -3093,6 +3247,7 @@
          - user
          - table
          - perm
+
         """
         self.send_hasTablePermission(login, user, table, perm)
         return self.recv_hasTablePermission()
@@ -3133,6 +3288,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_listLocalUsers(login)
         return self.recv_listLocalUsers()
@@ -3172,6 +3328,7 @@
          - login
          - user
          - perm
+
         """
         self.send_revokeSystemPermission(login, user, perm)
         self.recv_revokeSystemPermission()
@@ -3210,6 +3367,7 @@
          - user
          - table
          - perm
+
         """
         self.send_revokeTablePermission(login, user, table, perm)
         self.recv_revokeTablePermission()
@@ -3251,6 +3409,7 @@
          - user
          - namespaceName
          - perm
+
         """
         self.send_grantNamespacePermission(login, user, namespaceName, perm)
         self.recv_grantNamespacePermission()
@@ -3290,6 +3449,7 @@
          - user
          - namespaceName
          - perm
+
         """
         self.send_hasNamespacePermission(login, user, namespaceName, perm)
         return self.recv_hasNamespacePermission()
@@ -3331,6 +3491,7 @@
          - user
          - namespaceName
          - perm
+
         """
         self.send_revokeNamespacePermission(login, user, namespaceName, perm)
         self.recv_revokeNamespacePermission()
@@ -3369,6 +3530,7 @@
          - login
          - tableName
          - options
+
         """
         self.send_createBatchScanner(login, tableName, options)
         return self.recv_createBatchScanner()
@@ -3410,6 +3572,7 @@
          - login
          - tableName
          - options
+
         """
         self.send_createScanner(login, tableName, options)
         return self.recv_createScanner()
@@ -3449,6 +3612,7 @@
         """
         Parameters:
          - scanner
+
         """
         self.send_hasNext(scanner)
         return self.recv_hasNext()
@@ -3482,6 +3646,7 @@
         """
         Parameters:
          - scanner
+
         """
         self.send_nextEntry(scanner)
         return self.recv_nextEntry()
@@ -3520,6 +3685,7 @@
         Parameters:
          - scanner
          - k
+
         """
         self.send_nextK(scanner, k)
         return self.recv_nextK()
@@ -3558,6 +3724,7 @@
         """
         Parameters:
          - scanner
+
         """
         self.send_closeScanner(scanner)
         self.recv_closeScanner()
@@ -3591,6 +3758,7 @@
          - login
          - tableName
          - cells
+
         """
         self.send_updateAndFlush(login, tableName, cells)
         self.recv_updateAndFlush()
@@ -3632,6 +3800,7 @@
          - login
          - tableName
          - opts
+
         """
         self.send_createWriter(login, tableName, opts)
         return self.recv_createWriter()
@@ -3672,6 +3841,7 @@
         Parameters:
          - writer
          - cells
+
         """
         self.send_update(writer, cells)
 
@@ -3688,6 +3858,7 @@
         """
         Parameters:
          - writer
+
         """
         self.send_flush(writer)
         self.recv_flush()
@@ -3721,6 +3892,7 @@
         """
         Parameters:
          - writer
+
         """
         self.send_closeWriter(writer)
         self.recv_closeWriter()
@@ -3757,6 +3929,7 @@
          - tableName
          - row
          - updates
+
         """
         self.send_updateRowConditionally(login, tableName, row, updates)
         return self.recv_updateRowConditionally()
@@ -3799,6 +3972,7 @@
          - login
          - tableName
          - options
+
         """
         self.send_createConditionalWriter(login, tableName, options)
         return self.recv_createConditionalWriter()
@@ -3839,6 +4013,7 @@
         Parameters:
          - conditionalWriter
          - updates
+
         """
         self.send_updateRowsConditionally(conditionalWriter, updates)
         return self.recv_updateRowsConditionally()
@@ -3877,6 +4052,7 @@
         """
         Parameters:
          - conditionalWriter
+
         """
         self.send_closeConditionalWriter(conditionalWriter)
         self.recv_closeConditionalWriter()
@@ -3906,6 +4082,7 @@
         """
         Parameters:
          - row
+
         """
         self.send_getRowRange(row)
         return self.recv_getRowRange()
@@ -3938,6 +4115,7 @@
         Parameters:
          - key
          - part
+
         """
         self.send_getFollowing(key, part)
         return self.recv_getFollowing()
@@ -4022,6 +4200,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_listNamespaces(login)
         return self.recv_listNamespaces()
@@ -4058,6 +4237,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         self.send_namespaceExists(login, namespaceName)
         return self.recv_namespaceExists()
@@ -4095,6 +4275,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         self.send_createNamespace(login, namespaceName)
         self.recv_createNamespace()
@@ -4132,6 +4313,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         self.send_deleteNamespace(login, namespaceName)
         self.recv_deleteNamespace()
@@ -4172,6 +4354,7 @@
          - login
          - oldNamespaceName
          - newNamespaceName
+
         """
         self.send_renameNamespace(login, oldNamespaceName, newNamespaceName)
         self.recv_renameNamespace()
@@ -4214,6 +4397,7 @@
          - namespaceName
          - property
          - value
+
         """
         self.send_setNamespaceProperty(login, namespaceName, property, value)
         self.recv_setNamespaceProperty()
@@ -4254,6 +4438,7 @@
          - login
          - namespaceName
          - property
+
         """
         self.send_removeNamespaceProperty(login, namespaceName, property)
         self.recv_removeNamespaceProperty()
@@ -4292,6 +4477,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         self.send_getNamespaceProperties(login, namespaceName)
         return self.recv_getNamespaceProperties()
@@ -4330,6 +4516,7 @@
         """
         Parameters:
          - login
+
         """
         self.send_namespaceIdMap(login)
         return self.recv_namespaceIdMap()
@@ -4368,6 +4555,7 @@
          - namespaceName
          - setting
          - scopes
+
         """
         self.send_attachNamespaceIterator(login, namespaceName, setting, scopes)
         self.recv_attachNamespaceIterator()
@@ -4409,6 +4597,7 @@
          - namespaceName
          - name
          - scopes
+
         """
         self.send_removeNamespaceIterator(login, namespaceName, name, scopes)
         self.recv_removeNamespaceIterator()
@@ -4450,6 +4639,7 @@
          - namespaceName
          - name
          - scope
+
         """
         self.send_getNamespaceIteratorSetting(login, namespaceName, name, scope)
         return self.recv_getNamespaceIteratorSetting()
@@ -4491,6 +4681,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         self.send_listNamespaceIterators(login, namespaceName)
         return self.recv_listNamespaceIterators()
@@ -4532,6 +4723,7 @@
          - namespaceName
          - setting
          - scopes
+
         """
         self.send_checkNamespaceIteratorConflicts(login, namespaceName, setting, scopes)
         self.recv_checkNamespaceIteratorConflicts()
@@ -4572,6 +4764,7 @@
          - login
          - namespaceName
          - constraintClassName
+
         """
         self.send_addNamespaceConstraint(login, namespaceName, constraintClassName)
         return self.recv_addNamespaceConstraint()
@@ -4613,6 +4806,7 @@
          - login
          - namespaceName
          - id
+
         """
         self.send_removeNamespaceConstraint(login, namespaceName, id)
         self.recv_removeNamespaceConstraint()
@@ -4651,6 +4845,7 @@
         Parameters:
          - login
          - namespaceName
+
         """
         self.send_listNamespaceConstraints(login, namespaceName)
         return self.recv_listNamespaceConstraints()
@@ -4692,6 +4887,7 @@
          - namespaceName
          - className
          - asTypeName
+
         """
         self.send_testNamespaceClassLoad(login, namespaceName, className, asTypeName)
         return self.recv_testNamespaceClassLoad()
@@ -7871,6 +8067,7 @@
     Attributes:
      - principal
      - loginProperties
+
     """
 
 
@@ -7954,6 +8151,7 @@
     Attributes:
      - success
      - ouch2
+
     """
 
 
@@ -8028,6 +8226,7 @@
      - login
      - tableName
      - constraintClassName
+
     """
 
 
@@ -8114,6 +8313,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -8212,6 +8412,7 @@
      - login
      - tableName
      - splits
+
     """
 
 
@@ -8305,6 +8506,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -8394,6 +8596,7 @@
      - tableName
      - setting
      - scopes
+
     """
 
 
@@ -8499,6 +8702,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -8588,6 +8792,7 @@
      - tableName
      - setting
      - scopes
+
     """
 
 
@@ -8693,6 +8898,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -8780,6 +8986,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -8852,6 +9059,7 @@
     """
     Attributes:
      - ouch1
+
     """
 
 
@@ -8919,6 +9127,7 @@
      - flush
      - propertiesToSet
      - propertiesToExclude
+
     """
 
 
@@ -9056,6 +9265,7 @@
      - ouch2
      - ouch3
      - ouch4
+
     """
 
 
@@ -9161,6 +9371,7 @@
      - flush
      - wait
      - compactionStrategy
+
     """
 
 
@@ -9311,6 +9522,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -9398,6 +9610,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -9472,6 +9685,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -9561,6 +9775,7 @@
      - tableName
      - versioningIter
      - type
+
     """
 
 
@@ -9657,6 +9872,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -9744,6 +9960,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -9818,6 +10035,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -9907,6 +10125,7 @@
      - tableName
      - startRow
      - endRow
+
     """
 
 
@@ -10003,6 +10222,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -10091,6 +10311,7 @@
      - login
      - tableName
      - exportDir
+
     """
 
 
@@ -10176,6 +10397,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -10266,6 +10488,7 @@
      - startRow
      - endRow
      - wait
+
     """
 
 
@@ -10373,6 +10596,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -10460,6 +10684,7 @@
     Attributes:
      - login
      - tables
+
     """
 
 
@@ -10543,6 +10768,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -10649,6 +10875,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -10724,6 +10951,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -10841,6 +11069,7 @@
      - tableName
      - iteratorName
      - scope
+
     """
 
 
@@ -10938,6 +11167,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -11041,6 +11271,7 @@
      - startInclusive
      - endRow
      - endInclusive
+
     """
 
 
@@ -11179,6 +11410,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -11276,6 +11508,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -11351,6 +11584,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -11461,6 +11695,7 @@
      - importDir
      - failureDir
      - setTime
+
     """
 
 
@@ -11568,6 +11803,7 @@
      - ouch1
      - ouch3
      - ouch4
+
     """
 
 
@@ -11656,6 +11892,7 @@
      - login
      - tableName
      - importDir
+
     """
 
 
@@ -11741,6 +11978,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -11829,6 +12067,7 @@
      - login
      - tableName
      - maxSplits
+
     """
 
 
@@ -11915,6 +12154,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -12019,6 +12259,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -12080,6 +12321,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -12149,6 +12391,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -12224,6 +12467,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -12339,6 +12583,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -12414,6 +12659,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -12523,6 +12769,7 @@
      - tableName
      - startRow
      - endRow
+
     """
 
 
@@ -12619,6 +12866,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -12707,6 +12955,7 @@
      - login
      - tableName
      - wait
+
     """
 
 
@@ -12792,6 +13041,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -12880,6 +13130,7 @@
      - login
      - tableName
      - wait
+
     """
 
 
@@ -12965,6 +13216,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -13053,6 +13305,7 @@
      - login
      - tableName
      - constraint
+
     """
 
 
@@ -13138,6 +13391,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -13227,6 +13481,7 @@
      - tableName
      - iterName
      - scopes
+
     """
 
 
@@ -13331,6 +13586,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -13419,6 +13675,7 @@
      - login
      - tableName
      - property
+
     """
 
 
@@ -13504,6 +13761,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -13592,6 +13850,7 @@
      - login
      - oldTableName
      - newTableName
+
     """
 
 
@@ -13678,6 +13937,7 @@
      - ouch2
      - ouch3
      - ouch4
+
     """
 
 
@@ -13778,6 +14038,7 @@
      - login
      - tableName
      - groups
+
     """
 
 
@@ -13881,6 +14142,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -13970,6 +14232,7 @@
      - tableName
      - property
      - value
+
     """
 
 
@@ -14066,6 +14329,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -14155,6 +14419,7 @@
      - tableName
      - range
      - maxSplits
+
     """
 
 
@@ -14253,6 +14518,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -14359,6 +14625,7 @@
     Attributes:
      - login
      - tableName
+
     """
 
 
@@ -14431,6 +14698,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -14491,6 +14759,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -14552,6 +14821,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -14625,6 +14895,7 @@
      - tableName
      - className
      - asTypeName
+
     """
 
 
@@ -14722,6 +14993,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -14819,6 +15091,7 @@
     Attributes:
      - login
      - tserver
+
     """
 
 
@@ -14892,6 +15165,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -14967,6 +15241,7 @@
     Attributes:
      - login
      - tserver
+
     """
 
 
@@ -15041,6 +15316,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -15135,6 +15411,7 @@
     Attributes:
      - login
      - tserver
+
     """
 
 
@@ -15209,6 +15486,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -15302,6 +15580,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -15365,6 +15644,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -15459,6 +15739,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -15522,6 +15803,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -15616,6 +15898,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -15677,6 +15960,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -15746,6 +16030,7 @@
     Attributes:
      - login
      - property
+
     """
 
 
@@ -15819,6 +16104,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -15895,6 +16181,7 @@
      - login
      - property
      - value
+
     """
 
 
@@ -15979,6 +16266,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -16055,6 +16343,7 @@
      - login
      - className
      - asTypeName
+
     """
 
 
@@ -16140,6 +16429,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -16226,6 +16516,7 @@
      - login
      - user
      - properties
+
     """
 
 
@@ -16321,6 +16612,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -16407,6 +16699,7 @@
      - login
      - user
      - authorizations
+
     """
 
 
@@ -16499,6 +16792,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -16575,6 +16869,7 @@
      - login
      - user
      - password
+
     """
 
 
@@ -16659,6 +16954,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -16735,6 +17031,7 @@
      - login
      - user
      - password
+
     """
 
 
@@ -16819,6 +17116,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -16894,6 +17192,7 @@
     Attributes:
      - login
      - user
+
     """
 
 
@@ -16967,6 +17266,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -17042,6 +17342,7 @@
     Attributes:
      - login
      - user
+
     """
 
 
@@ -17116,6 +17417,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -17210,6 +17512,7 @@
      - login
      - user
      - perm
+
     """
 
 
@@ -17294,6 +17597,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -17371,6 +17675,7 @@
      - user
      - table
      - perm
+
     """
 
 
@@ -17467,6 +17772,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -17555,6 +17861,7 @@
      - login
      - user
      - perm
+
     """
 
 
@@ -17640,6 +17947,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -17727,6 +18035,7 @@
      - user
      - table
      - perm
+
     """
 
 
@@ -17824,6 +18133,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -17920,6 +18230,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -17984,6 +18295,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -18090,6 +18402,7 @@
      - login
      - user
      - perm
+
     """
 
 
@@ -18174,6 +18487,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -18251,6 +18565,7 @@
      - user
      - table
      - perm
+
     """
 
 
@@ -18347,6 +18662,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -18436,6 +18752,7 @@
      - user
      - namespaceName
      - perm
+
     """
 
 
@@ -18531,6 +18848,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -18608,6 +18926,7 @@
      - user
      - namespaceName
      - perm
+
     """
 
 
@@ -18704,6 +19023,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -18791,6 +19111,7 @@
      - user
      - namespaceName
      - perm
+
     """
 
 
@@ -18886,6 +19207,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -18962,6 +19284,7 @@
      - login
      - tableName
      - options
+
     """
 
 
@@ -19049,6 +19372,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -19147,6 +19471,7 @@
      - login
      - tableName
      - options
+
     """
 
 
@@ -19234,6 +19559,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -19330,6 +19656,7 @@
     """
     Attributes:
      - scanner
+
     """
 
 
@@ -19392,6 +19719,7 @@
     Attributes:
      - success
      - ouch1
+
     """
 
 
@@ -19464,6 +19792,7 @@
     """
     Attributes:
      - scanner
+
     """
 
 
@@ -19528,6 +19857,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -19626,6 +19956,7 @@
     Attributes:
      - scanner
      - k
+
     """
 
 
@@ -19701,6 +20032,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -19798,6 +20130,7 @@
     """
     Attributes:
      - scanner
+
     """
 
 
@@ -19859,6 +20192,7 @@
     """
     Attributes:
      - ouch1
+
     """
 
 
@@ -19923,6 +20257,7 @@
      - login
      - tableName
      - cells
+
     """
 
 
@@ -20028,6 +20363,7 @@
      - ouch2
      - ouch3
      - ouch4
+
     """
 
 
@@ -20128,6 +20464,7 @@
      - login
      - tableName
      - opts
+
     """
 
 
@@ -20215,6 +20552,7 @@
      - outch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -20312,6 +20650,7 @@
     Attributes:
      - writer
      - cells
+
     """
 
 
@@ -20403,6 +20742,7 @@
     """
     Attributes:
      - writer
+
     """
 
 
@@ -20465,6 +20805,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -20539,6 +20880,7 @@
     """
     Attributes:
      - writer
+
     """
 
 
@@ -20601,6 +20943,7 @@
     Attributes:
      - ouch1
      - ouch2
+
     """
 
 
@@ -20678,6 +21021,7 @@
      - tableName
      - row
      - updates
+
     """
 
 
@@ -20776,6 +21120,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -20874,6 +21219,7 @@
      - login
      - tableName
      - options
+
     """
 
 
@@ -20961,6 +21307,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -21058,6 +21405,7 @@
     Attributes:
      - conditionalWriter
      - updates
+
     """
 
 
@@ -21144,6 +21492,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -21250,6 +21599,7 @@
     """
     Attributes:
      - conditionalWriter
+
     """
 
 
@@ -21354,6 +21704,7 @@
     """
     Attributes:
      - row
+
     """
 
 
@@ -21415,6 +21766,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -21477,6 +21829,7 @@
     Attributes:
      - key
      - part
+
     """
 
 
@@ -21550,6 +21903,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -21654,6 +22008,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -21757,6 +22112,7 @@
     """
     Attributes:
      - success
+
     """
 
 
@@ -21817,6 +22173,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -21880,6 +22237,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -21973,6 +22331,7 @@
     Attributes:
      - login
      - namespaceName
+
     """
 
 
@@ -22047,6 +22406,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -22132,6 +22492,7 @@
     Attributes:
      - login
      - namespaceName
+
     """
 
 
@@ -22206,6 +22567,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -22293,6 +22655,7 @@
     Attributes:
      - login
      - namespaceName
+
     """
 
 
@@ -22368,6 +22731,7 @@
      - ouch2
      - ouch3
      - ouch4
+
     """
 
 
@@ -22468,6 +22832,7 @@
      - login
      - oldNamespaceName
      - newNamespaceName
+
     """
 
 
@@ -22554,6 +22919,7 @@
      - ouch2
      - ouch3
      - ouch4
+
     """
 
 
@@ -22655,6 +23021,7 @@
      - namespaceName
      - property
      - value
+
     """
 
 
@@ -22751,6 +23118,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -22839,6 +23207,7 @@
      - login
      - namespaceName
      - property
+
     """
 
 
@@ -22924,6 +23293,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -23011,6 +23381,7 @@
     Attributes:
      - login
      - namespaceName
+
     """
 
 
@@ -23086,6 +23457,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -23192,6 +23564,7 @@
     """
     Attributes:
      - login
+
     """
 
 
@@ -23255,6 +23628,7 @@
      - success
      - ouch1
      - ouch2
+
     """
 
 
@@ -23352,6 +23726,7 @@
      - namespaceName
      - setting
      - scopes
+
     """
 
 
@@ -23457,6 +23832,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -23546,6 +23922,7 @@
      - namespaceName
      - name
      - scopes
+
     """
 
 
@@ -23650,6 +24027,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -23739,6 +24117,7 @@
      - namespaceName
      - name
      - scope
+
     """
 
 
@@ -23836,6 +24215,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -23934,6 +24314,7 @@
     Attributes:
      - login
      - namespaceName
+
     """
 
 
@@ -24009,6 +24390,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -24126,6 +24508,7 @@
      - namespaceName
      - setting
      - scopes
+
     """
 
 
@@ -24231,6 +24614,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -24319,6 +24703,7 @@
      - login
      - namespaceName
      - constraintClassName
+
     """
 
 
@@ -24405,6 +24790,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -24503,6 +24889,7 @@
      - login
      - namespaceName
      - id
+
     """
 
 
@@ -24588,6 +24975,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -24675,6 +25063,7 @@
     Attributes:
      - login
      - namespaceName
+
     """
 
 
@@ -24750,6 +25139,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
@@ -24859,6 +25249,7 @@
      - namespaceName
      - className
      - asTypeName
+
     """
 
 
@@ -24956,6 +25347,7 @@
      - ouch1
      - ouch2
      - ouch3
+
     """
 
 
diff --git a/src/main/python/constants.py b/src/main/python/constants.py
index e78d3f4..2158f61 100644
--- a/src/main/python/constants.py
+++ b/src/main/python/constants.py
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/src/main/python/ttypes.py b/src/main/python/ttypes.py
index 780d9bf..1142b4a 100644
--- a/src/main/python/ttypes.py
+++ b/src/main/python/ttypes.py
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -332,6 +332,7 @@
      - colQualifier
      - colVisibility
      - timestamp
+
     """
 
 
@@ -433,6 +434,7 @@
      - timestamp
      - value
      - deleteCell
+
     """
 
 
@@ -540,6 +542,7 @@
     Attributes:
      - tables
      - usage
+
     """
 
 
@@ -615,6 +618,7 @@
     Attributes:
      - key
      - value
+
     """
 
 
@@ -683,6 +687,7 @@
     Attributes:
      - results
      - more
+
     """
 
 
@@ -761,6 +766,7 @@
      - startInclusive
      - stop
      - stopInclusive
+
     """
 
 
@@ -850,6 +856,7 @@
     Attributes:
      - colFamily
      - colQualifier
+
     """
 
 
@@ -919,6 +926,7 @@
      - name
      - iteratorClass
      - properties
+
     """
 
 
@@ -1019,6 +1027,7 @@
      - columns
      - iterators
      - bufferSize
+
     """
 
 
@@ -1146,6 +1155,7 @@
      - columns
      - iterators
      - threads
+
     """
 
 
@@ -1278,6 +1288,7 @@
     Attributes:
      - keyValue
      - hasNext
+
     """
 
 
@@ -1347,6 +1358,7 @@
      - tableId
      - endRow
      - prevEndRow
+
     """
 
 
@@ -1425,6 +1437,7 @@
      - colFamily
      - colQualifier
      - colVisibility
+
     """
 
 
@@ -1504,6 +1517,7 @@
      - timestamp
      - value
      - iterators
+
     """
 
 
@@ -1601,6 +1615,7 @@
     Attributes:
      - conditions
      - updates
+
     """
 
 
@@ -1689,6 +1704,7 @@
      - threads
      - authorizations
      - durability
+
     """
 
 
@@ -1803,6 +1819,7 @@
      - columns
      - iterators
      - authorizations
+
     """
 
 
@@ -1995,6 +2012,7 @@
      - entriesRead
      - entriesWritten
      - iterators
+
     """
 
 
@@ -2163,6 +2181,7 @@
      - timeoutMs
      - threads
      - durability
+
     """
 
 
@@ -2260,6 +2279,7 @@
     Attributes:
      - className
      - options
+
     """
 
 
@@ -2336,6 +2356,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2395,6 +2416,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2454,6 +2476,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2513,6 +2536,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2572,6 +2596,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2631,6 +2656,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2690,6 +2716,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2749,6 +2776,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2808,6 +2836,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2867,6 +2896,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
@@ -2926,6 +2956,7 @@
     """
     Attributes:
      - msg
+
     """
 
 
diff --git a/src/main/ruby/accumulo_proxy.rb b/src/main/ruby/accumulo_proxy.rb
index 33f8922..fb15df1 100644
--- a/src/main/ruby/accumulo_proxy.rb
+++ b/src/main/ruby/accumulo_proxy.rb
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/src/main/ruby/proxy_constants.rb b/src/main/ruby/proxy_constants.rb
index 3eb0c52..189a7b4 100644
--- a/src/main/ruby/proxy_constants.rb
+++ b/src/main/ruby/proxy_constants.rb
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/src/main/ruby/proxy_types.rb b/src/main/ruby/proxy_types.rb
index 28a3b82..31c6079 100644
--- a/src/main/ruby/proxy_types.rb
+++ b/src/main/ruby/proxy_types.rb
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Autogenerated by Thrift Compiler (0.11.0)
+# Autogenerated by Thrift Compiler (0.12.0)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -143,6 +143,68 @@
     VALID_VALUES = Set.new([LOGICAL, MILLIS]).freeze
   end
 
+  class Key; end
+
+  class ColumnUpdate; end
+
+  class DiskUsage; end
+
+  class KeyValue; end
+
+  class ScanResult; end
+
+  class Range; end
+
+  class ScanColumn; end
+
+  class IteratorSetting; end
+
+  class ScanOptions; end
+
+  class BatchScanOptions; end
+
+  class KeyValueAndPeek; end
+
+  class KeyExtent; end
+
+  class Column; end
+
+  class Condition; end
+
+  class ConditionalUpdates; end
+
+  class ConditionalWriterOptions; end
+
+  class ActiveScan; end
+
+  class ActiveCompaction; end
+
+  class WriterOptions; end
+
+  class CompactionStrategyConfig; end
+
+  class UnknownScanner < ::Thrift::Exception; end
+
+  class UnknownWriter < ::Thrift::Exception; end
+
+  class NoMoreEntriesException < ::Thrift::Exception; end
+
+  class AccumuloException < ::Thrift::Exception; end
+
+  class AccumuloSecurityException < ::Thrift::Exception; end
+
+  class TableNotFoundException < ::Thrift::Exception; end
+
+  class TableExistsException < ::Thrift::Exception; end
+
+  class MutationsRejectedException < ::Thrift::Exception; end
+
+  class NamespaceExistsException < ::Thrift::Exception; end
+
+  class NamespaceNotFoundException < ::Thrift::Exception; end
+
+  class NamespaceNotEmptyException < ::Thrift::Exception; end
+
   class Key
     include ::Thrift::Struct, ::Thrift::Struct_Union
     ROW = 1
diff --git a/src/main/scripts/generate-thrift.sh b/src/main/scripts/generate-thrift.sh
index 3070dd4..5e6e3eb 100755
--- a/src/main/scripts/generate-thrift.sh
+++ b/src/main/scripts/generate-thrift.sh
@@ -16,7 +16,7 @@
 # limitations under the License.
 
 # This script will regenerate the thrift code for accumulo-proxy.
-REQUIRED_THRIFT_VERSION='0.11.0'
+REQUIRED_THRIFT_VERSION='0.12.0'
 INCLUDED_MODULES=(-)
 BASE_OUTPUT_PACKAGE='org.apache.accumulo'
 PACKAGES_TO_GENERATE=(proxy)
@@ -56,7 +56,7 @@
 mkdir -p $BUILD_DIR
 rm -rf $BUILD_DIR/gen-java
 for f in src/main/thrift/*.thrift; do
-  thrift ${THRIFT_ARGS} --gen java:generated_annotations=undated,handle_runtime_exceptions "$f" || fail unable to generate java thrift classes
+  thrift ${THRIFT_ARGS} --gen java:generated_annotations=suppress "$f" || fail unable to generate java thrift classes
   thrift ${THRIFT_ARGS} --gen py "$f" || fail unable to generate python thrift classes
   thrift ${THRIFT_ARGS} --gen rb "$f" || fail unable to generate ruby thrift classes
   thrift ${THRIFT_ARGS} --gen cpp "$f" || fail unable to generate cpp thrift classes
diff --git a/src/main/thrift/proxy.thrift b/src/main/thrift/proxy.thrift
index e15990c..95fe2fb 100644
--- a/src/main/thrift/proxy.thrift
+++ b/src/main/thrift/proxy.thrift
@@ -25,193 +25,192 @@
  * Therefore if changes to this IDL break your client code, then using an older
  * version of the IDL with a new version of the proxy server is an option.
  */
-
 namespace cpp accumulo
 namespace java org.apache.accumulo.proxy.thrift
 namespace rb Accumulo
 namespace py accumulo
 
 struct Key {
-  1:binary row;
-  2:binary colFamily;
-  3:binary colQualifier;
-  4:binary colVisibility;
+  1:binary row
+  2:binary colFamily
+  3:binary colQualifier
+  4:binary colVisibility
   5:optional i64 timestamp = 0x7FFFFFFFFFFFFFFF
 }
 
 enum PartialKey {
-  ROW,
-  ROW_COLFAM,
-  ROW_COLFAM_COLQUAL,
-  ROW_COLFAM_COLQUAL_COLVIS,
-  ROW_COLFAM_COLQUAL_COLVIS_TIME,
+  ROW
+  ROW_COLFAM
+  ROW_COLFAM_COLQUAL
+  ROW_COLFAM_COLQUAL_COLVIS
+  ROW_COLFAM_COLQUAL_COLVIS_TIME
   ROW_COLFAM_COLQUAL_COLVIS_TIME_DEL
 }
 
 struct ColumnUpdate {
-  1:binary colFamily,
-  2:binary colQualifier,
-  3:optional binary colVisibility,
-  4:optional i64 timestamp,
-  5:optional binary value,
+  1:binary colFamily
+  2:binary colQualifier
+  3:optional binary colVisibility
+  4:optional i64 timestamp
+  5:optional binary value
   6:optional bool deleteCell
 }
 
-//since 1.6.0
+// since 1.6.0
 struct DiskUsage {
-  1:list<string> tables,
+  1:list<string> tables
   2:i64 usage
 }
 
 struct KeyValue {
-  1:Key key,
+  1:Key key
   2:binary value
 }
 
 struct ScanResult {
-  1:list<KeyValue> results,
+  1:list<KeyValue> results
   2:bool more
 }
 
 struct Range {
-  1:Key start,
+  1:Key start
   2:bool startInclusive
-  3:Key stop,
+  3:Key stop
   4:bool stopInclusive
 }
 
 struct ScanColumn {
-  1:binary colFamily,
+  1:binary colFamily
   2:optional binary colQualifier
 }
 
 struct IteratorSetting {
-  1: i32 priority,
-  2: string name,
-  3: string iteratorClass,
-  4: map<string,string> properties
+  1: i32 priority
+  2: string name
+  3: string iteratorClass
+  4: map<string, string> properties
 }
 
 struct ScanOptions {
-  1:optional set<binary> authorizations;
-  2:optional Range range,
-  3:optional list<ScanColumn> columns;
-  4:optional list<IteratorSetting> iterators;
-  5:optional i32 bufferSize;
-} 
+  1:optional set<binary> authorizations
+  2:optional Range range
+  3:optional list<ScanColumn> columns
+  4:optional list<IteratorSetting> iterators
+  5:optional i32 bufferSize
+}
 
 struct BatchScanOptions {
-  1:optional set<binary> authorizations;
-  2:optional list<Range> ranges;
-  3:optional list<ScanColumn> columns;
-  4:optional list<IteratorSetting> iterators;
-  5:optional i32 threads;
-} 
+  1:optional set<binary> authorizations
+  2:optional list<Range> ranges
+  3:optional list<ScanColumn> columns
+  4:optional list<IteratorSetting> iterators
+  5:optional i32 threads
+}
 
 struct KeyValueAndPeek {
-  1:KeyValue keyValue,
+  1:KeyValue keyValue
   2:bool hasNext
 }
 
 enum TablePermission {
-  READ = 2,
-  WRITE = 3,
-  BULK_IMPORT = 4,
-  ALTER_TABLE = 5,
-  GRANT = 6,
-  DROP_TABLE = 7,
+  READ = 2
+  WRITE = 3
+  BULK_IMPORT = 4
+  ALTER_TABLE = 5
+  GRANT = 6
+  DROP_TABLE = 7
 }
 
 enum SystemPermission {
-  GRANT = 0,
-  CREATE_TABLE = 1,
-  DROP_TABLE = 2,
-  ALTER_TABLE = 3,
-  CREATE_USER = 4,
-  DROP_USER = 5,
-  ALTER_USER = 6,
-  SYSTEM = 7,
-  CREATE_NAMESPACE = 8,
-  DROP_NAMESPACE = 9,
-  ALTER_NAMESPACE = 10,
-  OBTAIN_DELEGATION_TOKEN = 11,
+  GRANT = 0
+  CREATE_TABLE = 1
+  DROP_TABLE = 2
+  ALTER_TABLE = 3
+  CREATE_USER = 4
+  DROP_USER = 5
+  ALTER_USER = 6
+  SYSTEM = 7
+  CREATE_NAMESPACE = 8
+  DROP_NAMESPACE = 9
+  ALTER_NAMESPACE = 10
+  OBTAIN_DELEGATION_TOKEN = 11
 }
 
 enum NamespacePermission {
-  READ = 0,
-  WRITE = 1,
-  ALTER_NAMESPACE = 2,
-  GRANT = 3,
-  ALTER_TABLE = 4,
-  CREATE_TABLE = 5,
-  DROP_TABLE = 6,
-  BULK_IMPORT = 7,
+  READ = 0
+  WRITE = 1
+  ALTER_NAMESPACE = 2
+  GRANT = 3
+  ALTER_TABLE = 4
+  CREATE_TABLE = 5
+  DROP_TABLE = 6
+  BULK_IMPORT = 7
   DROP_NAMESPACE = 8
 }
 
 enum ScanType {
-    SINGLE,
-    BATCH
+  SINGLE
+  BATCH
 }
 
 enum ScanState {
-    IDLE,
-    RUNNING,
-    QUEUED
+  IDLE
+  RUNNING
+  QUEUED
 }
 
 struct KeyExtent {
-  1:string tableId,
-  2:binary endRow,
+  1:string tableId
+  2:binary endRow
   3:binary prevEndRow
 }
 
 struct Column {
-  1:binary colFamily;
-  2:binary colQualifier;
-  3:binary colVisibility;
+  1:binary colFamily
+  2:binary colQualifier
+  3:binary colVisibility
 }
 
-//since 1.6.0
+// since 1.6.0
 struct Condition {
-  1:Column column;
-  2:optional i64 timestamp;
-  3:optional binary value;
-  4:optional list<IteratorSetting> iterators;
+  1:Column column
+  2:optional i64 timestamp
+  3:optional binary value
+  4:optional list<IteratorSetting> iterators
 }
 
-//since 1.6.0
+// since 1.6.0
 struct ConditionalUpdates {
-	2:list<Condition> conditions
-	3:list<ColumnUpdate> updates 
+  2:list<Condition> conditions
+  3:list<ColumnUpdate> updates
 }
 
-//since 1.6.0
+// since 1.6.0
 enum ConditionalStatus {
-  ACCEPTED,
-  REJECTED,
-  VIOLATED,
-  UNKNOWN,
+  ACCEPTED
+  REJECTED
+  VIOLATED
+  UNKNOWN
   INVISIBLE_VISIBILITY
 }
 
-//since 1.7.0
+// since 1.7.0
 enum Durability {
-	DEFAULT,
-	NONE,
-	LOG,
-	FLUSH,
-	SYNC
+  DEFAULT
+  NONE
+  LOG
+  FLUSH
+  SYNC
 }
 
-//since 1.6.0
+// since 1.6.0
 struct ConditionalWriterOptions {
-   1:optional i64 maxMemory
-   2:optional i64 timeoutMs
-   3:optional i32 threads
-   4:optional set<binary> authorizations;
-   //since 1.7.0
-   5:optional Durability durability;
+  1:optional i64 maxMemory
+  2:optional i64 timeoutMs
+  3:optional i32 threads
+  4:optional set<binary> authorizations
+  // since 1.7.0
+  5:optional Durability durability
 }
 
 struct ActiveScan {
@@ -229,18 +228,18 @@
 }
 
 enum CompactionType {
-   MINOR,
-   MERGE,
-   MAJOR,
-   FULL
+  MINOR
+  MERGE
+  MAJOR
+  FULL
 }
 
 enum CompactionReason {
-   USER,
-   SYSTEM,
-   CHOP,
-   IDLE,
-   CLOSE
+  USER
+  SYSTEM
+  CHOP
+  IDLE
+  CLOSE
 }
 
 struct ActiveCompaction {
@@ -253,7 +252,7 @@
   7:string localityGroup
   8:i64 entriesRead
   9:i64 entriesWritten
-  10:list<IteratorSetting> iterators;
+  10:list<IteratorSetting> iterators
 }
 
 struct WriterOptions {
@@ -261,23 +260,23 @@
  2:i64 latencyMs
  3:i64 timeoutMs
  4:i32 threads
- //since 1.7.0
+ // since 1.7.0
  5:optional Durability durability
 }
 
 struct CompactionStrategyConfig {
   1:string className
-  2:map<string,string> options
+  2:map<string, string> options
 }
 
 enum IteratorScope {
-  MINC,
-  MAJC,
+  MINC
+  MAJC
   SCAN
 }
 
 enum TimeType {
-  LOGICAL,
+  LOGICAL
   MILLIS
 }
 
@@ -325,169 +324,930 @@
   1:string msg
 }
 
-service AccumuloProxy
-{
+service AccumuloProxy {
+
   // get an authentication token
-  binary login(1:string principal, 2:map<string, string> loginProperties)                              throws (1:AccumuloSecurityException ouch2);
+  binary login(
+    1:string principal
+    2:map<string, string> loginProperties
+  ) throws (
+    1:AccumuloSecurityException ouch2
+  )
 
   // table operations
-  i32 addConstraint (1:binary login, 2:string tableName, 3:string constraintClassName)                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void addSplits (1:binary login, 2:string tableName, 3:set<binary> splits)                            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void attachIterator (1:binary login, 2:string tableName, 3:IteratorSetting setting, 
-                       4:set<IteratorScope> scopes) 
-                                                                                                       throws (1:AccumuloSecurityException ouch1, 2:AccumuloException ouch2, 3:TableNotFoundException ouch3);
-  void checkIteratorConflicts (1:binary login, 2:string tableName, 3:IteratorSetting setting, 
-                               4:set<IteratorScope> scopes) 
-                                                                                                       throws (1:AccumuloSecurityException ouch1, 2:AccumuloException ouch2, 3:TableNotFoundException ouch3);
-  void clearLocatorCache (1:binary login, 2:string tableName)                                          throws (1:TableNotFoundException ouch1);
-  void cloneTable (1:binary login, 2:string tableName, 3:string newTableName, 4:bool flush, 
-                   5:map<string,string> propertiesToSet, 6:set<string> propertiesToExclude) 
-                                                                                                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3, 4:TableExistsException ouch4);
-  //changed in 1.7.0, see comment at top about compatibility
-  void compactTable (1:binary login, 2:string tableName, 3:binary startRow, 4:binary endRow, 
-		     5:list<IteratorSetting> iterators, 6:bool flush, 7:bool wait, 
-		     8:CompactionStrategyConfig compactionStrategy)                                            throws (1:AccumuloSecurityException ouch1, 2:TableNotFoundException ouch2, 3:AccumuloException ouch3);
-  void cancelCompaction(1:binary login, 2:string tableName)                                            throws (1:AccumuloSecurityException ouch1, 2:TableNotFoundException ouch2, 3:AccumuloException ouch3);
-                                                                                                            
-  void createTable (1:binary login, 2:string tableName, 3:bool versioningIter, 4:TimeType type)        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableExistsException ouch3);
-  void deleteTable (1:binary login, 2:string tableName)                                                throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void deleteRows (1:binary login, 2:string tableName, 3:binary startRow, 4:binary endRow)             throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void exportTable (1:binary login, 2:string tableName, 3:string exportDir)                            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void flushTable (1:binary login, 2:string tableName, 3:binary startRow, 4:binary endRow, 
-                   5:bool wait)
-                                                                                                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  //since 1.6.0                                                                                                       
-  list<DiskUsage> getDiskUsage(1:binary login, 2:set<string> tables)                                   throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  map<string,set<string>> getLocalityGroups (1:binary login, 2:string tableName)                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  IteratorSetting getIteratorSetting (1:binary login, 2:string tableName, 
-                                      3:string iteratorName, 4:IteratorScope scope) 
-                                                                                                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  binary getMaxRow (1:binary login, 2:string tableName, 3:set<binary> auths, 4:binary startRow, 
-                    5:bool startInclusive, 6:binary endRow, 7:bool endInclusive) 
-                                                                                                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  map<string,string> getTableProperties (1:binary login, 2:string tableName)                           throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void importDirectory (1:binary login, 2:string tableName, 3:string importDir, 
-                        4:string failureDir, 5:bool setTime) 
-                                                                                                       throws (1:TableNotFoundException ouch1, 2:AccumuloException ouch3, 3:AccumuloSecurityException ouch4);
-  void importTable (1:binary login, 2:string tableName, 3:string importDir)                            throws (1:TableExistsException ouch1, 2:AccumuloException ouch2, 3:AccumuloSecurityException ouch3);
-  list<binary> listSplits (1:binary login, 2:string tableName, 3:i32 maxSplits)                        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  set<string> listTables (1:binary login);
-  map<string,set<IteratorScope>> listIterators (1:binary login, 2:string tableName)                    throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  map<string,i32> listConstraints (1:binary login, 2:string tableName)                                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void mergeTablets (1:binary login, 2:string tableName, 3:binary startRow, 4:binary endRow)           throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  //changed in 1.6.0, see comment at top about compatibility
-  void offlineTable (1:binary login, 2:string tableName, 3:bool wait=false)                            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  //changed in 1.6.0, see comment at top about compatibility
-  void onlineTable (1:binary login, 2:string tableName, 3:bool wait=false)                             throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void removeConstraint (1:binary login, 2:string tableName, 3:i32 constraint)                         throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void removeIterator (1:binary login, 2:string tableName, 3:string iterName, 
-                       4:set<IteratorScope> scopes)
-                                                                                                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void removeTableProperty (1:binary login, 2:string tableName, 3:string property)                     throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void renameTable (1:binary login, 2:string oldTableName, 3:string newTableName)                      throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3, 4:TableExistsException ouch4);
-  void setLocalityGroups (1:binary login, 2:string tableName, 3:map<string,set<string>> groups)        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void setTableProperty (1:binary login, 2:string tableName, 3:string property, 4:string value)        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  set<Range> splitRangeByTablets (1:binary login, 2:string tableName, 3:Range range, 4:i32 maxSplits)  throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  bool tableExists (1:binary login, 2:string tableName);
-  map<string,string> tableIdMap (1:binary login);
-  bool testTableClassLoad (1:binary login, 2:string tableName, 3:string className                     
-                           , 4:string asTypeName)                                                      throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
+  i32 addConstraint (
+    1:binary login
+    2:string tableName
+    3:string constraintClassName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void addSplits (
+    1:binary login
+    2:string tableName
+    3:set<binary> splits
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void attachIterator (
+    1:binary login
+    2:string tableName
+    3:IteratorSetting setting
+    4:set<IteratorScope> scopes
+  ) throws (
+    1:AccumuloSecurityException ouch1
+    2:AccumuloException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void checkIteratorConflicts (
+    1:binary login
+    2:string tableName
+    3:IteratorSetting setting
+    4:set<IteratorScope> scopes
+  ) throws (
+    1:AccumuloSecurityException ouch1
+    2:AccumuloException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void clearLocatorCache (
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:TableNotFoundException ouch1
+  )
+
+  void cloneTable (
+    1:binary login
+    2:string tableName
+    3:string newTableName
+    4:bool flush
+    5:map<string, string> propertiesToSet
+    6:set<string> propertiesToExclude
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+    4:TableExistsException ouch4
+  )
+
+  // changed in 1.7.0, see comment at top about compatibility
+  void compactTable (
+    1:binary login
+    2:string tableName
+    3:binary startRow
+    4:binary endRow
+    5:list<IteratorSetting> iterators
+    6:bool flush
+    7:bool wait
+    8:CompactionStrategyConfig compactionStrategy
+  ) throws (
+    1:AccumuloSecurityException ouch1
+    2:TableNotFoundException ouch2
+    3:AccumuloException ouch3
+  )
+
+  void cancelCompaction(
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:AccumuloSecurityException ouch1
+    2:TableNotFoundException ouch2
+    3:AccumuloException ouch3
+  )
+
+  void createTable (
+    1:binary login
+    2:string tableName
+    3:bool versioningIter
+    4:TimeType type
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableExistsException ouch3
+  )
+
+  void deleteTable (
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void deleteRows (
+    1:binary login
+    2:string tableName
+    3:binary startRow
+    4:binary endRow
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void exportTable (
+    1:binary login
+    2:string tableName
+    3:string exportDir
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void flushTable (
+    1:binary login
+    2:string tableName
+    3:binary startRow
+    4:binary endRow
+    5:bool wait
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  // since 1.6.0
+  list<DiskUsage> getDiskUsage(
+    1:binary login
+    2:set<string> tables
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  map<string, set<string>> getLocalityGroups (
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  IteratorSetting getIteratorSetting (
+    1:binary login
+    2:string tableName
+    3:string iteratorName
+    4:IteratorScope scope
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  binary getMaxRow (
+    1:binary login
+    2:string tableName
+    3:set<binary> auths
+    4:binary startRow
+    5:bool startInclusive
+    6:binary endRow
+    7:bool endInclusive
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  map<string, string> getTableProperties (
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void importDirectory (
+    1:binary login
+    2:string tableName
+    3:string importDir
+    4:string failureDir
+    5:bool setTime
+  ) throws (
+    1:TableNotFoundException ouch1
+    2:AccumuloException ouch3
+    3:AccumuloSecurityException ouch4
+  )
+
+  void importTable (
+    1:binary login
+    2:string tableName
+    3:string importDir
+  ) throws (
+    1:TableExistsException ouch1
+    2:AccumuloException ouch2
+    3:AccumuloSecurityException ouch3
+  )
+
+  list<binary> listSplits (
+    1:binary login
+    2:string tableName
+    3:i32 maxSplits
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  set<string> listTables (
+    1:binary login
+  )
+
+  map<string, set<IteratorScope>> listIterators (
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  map<string, i32> listConstraints (
+    1:binary login
+    2:string tableName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void mergeTablets (
+    1:binary login
+    2:string tableName
+    3:binary startRow
+    4:binary endRow
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  // changed in 1.6.0, see comment at top about compatibility
+  void offlineTable (
+    1:binary login
+    2:string tableName
+    3:bool wait=false
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  // changed in 1.6.0, see comment at top about compatibility
+  void onlineTable (
+    1:binary login
+    2:string tableName
+    3:bool wait=false
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void removeConstraint (
+    1:binary login
+    2:string tableName
+    3:i32 constraint
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void removeIterator (
+    1:binary login
+    2:string tableName
+    3:string iterName
+    4:set<IteratorScope> scopes
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void removeTableProperty (
+    1:binary login
+    2:string tableName
+    3:string property
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void renameTable (
+    1:binary login
+    2:string oldTableName
+    3:string newTableName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+    4:TableExistsException ouch4
+  )
+
+  void setLocalityGroups (
+    1:binary login
+    2:string tableName
+    3:map<string, set<string>> groups
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void setTableProperty (
+    1:binary login
+    2:string tableName
+    3:string property
+    4:string value
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  set<Range> splitRangeByTablets (
+    1:binary login
+    2:string tableName
+    3:Range range
+    4:i32 maxSplits
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  bool tableExists (
+    1:binary login
+    2:string tableName
+  )
+
+  map<string, string> tableIdMap (
+    1:binary login
+  )
+
+  bool testTableClassLoad (
+    1:binary login
+    2:string tableName
+    3:string className 
+    4:string asTypeName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
 
   // instance operations
-  void pingTabletServer(1:binary login, 2:string tserver)                                            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  list<ActiveScan> getActiveScans (1:binary login, 2:string tserver)                                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  list<ActiveCompaction> getActiveCompactions(1:binary login, 2:string tserver)                      throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  map<string,string> getSiteConfiguration (1:binary login)                                           throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  map<string,string> getSystemConfiguration (1:binary login)                                         throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  list<string> getTabletServers (1:binary login);
-  void removeProperty (1:binary login, 2:string property)                                            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void setProperty (1:binary login, 2:string property, 3:string value)                               throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  bool testClassLoad (1:binary login, 2:string className, 3:string asTypeName)                       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
+  void pingTabletServer(
+    1:binary login
+    2:string tserver
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  list<ActiveScan> getActiveScans (
+    1:binary login
+    2:string tserver
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  list<ActiveCompaction> getActiveCompactions(
+    1:binary login
+    2:string tserver
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  map<string, string> getSiteConfiguration (
+    1:binary login
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  map<string, string> getSystemConfiguration (
+    1:binary login
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  list<string> getTabletServers (
+    1:binary login
+  )
+
+  void removeProperty (
+    1:binary login
+    2:string property
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void setProperty (
+    1:binary login
+    2:string property
+    3:string value
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  bool testClassLoad (
+    1:binary login
+    2:string className
+    3:string asTypeName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
 
   // security operations
-  bool authenticateUser (1:binary login, 2:string user, 3:map<string, string> properties)            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void changeUserAuthorizations (1:binary login, 2:string user, 3:set<binary> authorizations)        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void changeLocalUserPassword (1:binary login, 2:string user, 3:binary password)                    throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void createLocalUser (1:binary login, 2:string user, 3:binary password)                            throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void dropLocalUser (1:binary login, 2:string user)                                                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  list<binary> getUserAuthorizations (1:binary login, 2:string user)                                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void grantSystemPermission (1:binary login, 2:string user, 3:SystemPermission perm)                throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void grantTablePermission (1:binary login, 2:string user, 3:string table, 4:TablePermission perm)  throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  bool hasSystemPermission (1:binary login, 2:string user, 3:SystemPermission perm)                  throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  bool hasTablePermission (1:binary login, 2:string user, 3:string table, 4:TablePermission perm)    throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  set<string> listLocalUsers (1:binary login)                                                        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void revokeSystemPermission (1:binary login, 2:string user, 3:SystemPermission perm)               throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void revokeTablePermission (1:binary login, 2:string user, 3:string table, 4:TablePermission perm) throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  void grantNamespacePermission (1:binary login, 2:string user, 3:string namespaceName,
-                                 4:NamespacePermission perm)                                         throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  bool hasNamespacePermission (1:binary login, 2:string user, 3:string namespaceName,
-                               4:NamespacePermission perm)                                           throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void revokeNamespacePermission (1:binary login, 2:string user, 3:string namespaceName,
-                                  4:NamespacePermission perm)                                        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
+  bool authenticateUser (
+    1:binary login
+    2:string user
+    3:map<string, string> properties
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void changeUserAuthorizations (
+    1:binary login
+    2:string user
+    3:set<binary> authorizations
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void changeLocalUserPassword (
+    1:binary login
+    2:string user
+    3:binary password
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void createLocalUser (
+    1:binary login
+    2:string user
+    3:binary password
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void dropLocalUser (
+    1:binary login
+    2:string user
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  list<binary> getUserAuthorizations (
+    1:binary login
+    2:string user
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void grantSystemPermission (
+    1:binary login
+    2:string user
+    3:SystemPermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void grantTablePermission (
+    1:binary login
+    2:string user
+    3:string table
+    4:TablePermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  bool hasSystemPermission (
+    1:binary login
+    2:string user
+    3:SystemPermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  bool hasTablePermission (
+    1:binary login
+    2:string user
+    3:string table
+    4:TablePermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  set<string> listLocalUsers (
+    1:binary login
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void revokeSystemPermission (
+    1:binary login
+    2:string user
+    3:SystemPermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void revokeTablePermission (
+    1:binary login
+    2:string user
+    3:string table
+    4:TablePermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  void grantNamespacePermission (
+    1:binary login
+    2:string user
+    3:string namespaceName
+    4:NamespacePermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  bool hasNamespacePermission (
+    1:binary login
+    2:string user
+    3:string namespaceName
+    4:NamespacePermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void revokeNamespacePermission (
+    1:binary login
+    2:string user
+    3:string namespaceName
+    4:NamespacePermission perm
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
 
   // scanning
-  string createBatchScanner(1:binary login, 2:string tableName, 3:BatchScanOptions options)          throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  string createScanner(1:binary login, 2:string tableName, 3:ScanOptions options)                    throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
+  string createBatchScanner(
+    1:binary login
+    2:string tableName
+    3:BatchScanOptions options
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  string createScanner(
+    1:binary login
+    2:string tableName
+    3:ScanOptions options
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
 
   // use the scanner
-  bool hasNext(1:string scanner)                        throws(1:UnknownScanner ouch1);
-  KeyValueAndPeek nextEntry(1:string scanner)           throws(1:NoMoreEntriesException ouch1, 2:UnknownScanner ouch2, 3:AccumuloSecurityException ouch3);
-  ScanResult nextK(1:string scanner, 2:i32 k)           throws(1:NoMoreEntriesException ouch1, 2:UnknownScanner ouch2, 3:AccumuloSecurityException ouch3);
-  void closeScanner(1:string scanner)                   throws(1:UnknownScanner ouch1);
+  bool hasNext(
+    1:string scanner
+  ) throws (
+    1:UnknownScanner ouch1
+  )
+
+  KeyValueAndPeek nextEntry(
+    1:string scanner
+  ) throws (
+    1:NoMoreEntriesException ouch1
+    2:UnknownScanner ouch2
+    3:AccumuloSecurityException ouch3
+  )
+
+  ScanResult nextK(
+    1:string scanner
+    2:i32 k
+  ) throws (
+    1:NoMoreEntriesException ouch1
+    2:UnknownScanner ouch2
+    3:AccumuloSecurityException ouch3
+  )
+
+  void closeScanner(
+    1:string scanner
+  ) throws (
+    1:UnknownScanner ouch1
+  )
 
   // writing
-  void updateAndFlush(1:binary login, 2:string tableName, 3:map<binary, list<ColumnUpdate>> cells) throws(1:AccumuloException outch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3, 4:MutationsRejectedException ouch4);
-  string createWriter(1:binary login, 2:string tableName, 3:WriterOptions opts)                    throws(1:AccumuloException outch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
+  void updateAndFlush(
+    1:binary login
+    2:string tableName
+    3:map<binary, list<ColumnUpdate>> cells
+  ) throws (
+    1:AccumuloException outch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+    4:MutationsRejectedException ouch4
+  )
+
+  string createWriter(
+    1:binary login
+    2:string tableName
+    3:WriterOptions opts
+  ) throws (
+    1:AccumuloException outch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
 
   // use the writer
-  oneway void update(1:string writer, 2:map<binary, list<ColumnUpdate>> cells);
-  void flush(1:string writer)                                                                      throws (1:UnknownWriter ouch1, 2:MutationsRejectedException ouch2);
-  void closeWriter(1:string writer)                                                                throws (1:UnknownWriter ouch1, 2:MutationsRejectedException ouch2);
+  oneway void update(
+    1:string writer
+    2:map<binary, list<ColumnUpdate>> cells
+  )
 
-  //api for a single conditional update
-  ConditionalStatus updateRowConditionally(1:binary login, 2:string tableName, 3:binary row, 
-                                           4:ConditionalUpdates updates)                           throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  
-  //api for batch conditional updates
-  //since 1.6.0
-  string createConditionalWriter(1:binary login, 2:string tableName, 
-                                 3:ConditionalWriterOptions options)                               throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:TableNotFoundException ouch3);
-  //since 1.6.0
-  map<binary, ConditionalStatus> updateRowsConditionally(1:string conditionalWriter,                   
-                                                     2:map<binary, ConditionalUpdates> updates)    throws (1:UnknownWriter ouch1, 2:AccumuloException ouch2, 3:AccumuloSecurityException ouch3);
-  //since 1.6.0
-  void closeConditionalWriter(1:string conditionalWriter);
+  void flush(
+    1:string writer
+  ) throws (
+    1:UnknownWriter ouch1
+    2:MutationsRejectedException ouch2
+  )
+
+  void closeWriter(
+    1:string writer
+  ) throws (
+    1:UnknownWriter ouch1
+    2:MutationsRejectedException ouch2
+  )
+
+  // api for a single conditional update
+  ConditionalStatus updateRowConditionally(
+    1:binary login
+    2:string tableName
+    3:binary row
+    4:ConditionalUpdates updates
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  // since 1.6.0; api for batch conditional updates
+  string createConditionalWriter(
+    1:binary login
+    2:string tableName
+    3:ConditionalWriterOptions options
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:TableNotFoundException ouch3
+  )
+
+  // since 1.6.0
+  map<binary, ConditionalStatus> updateRowsConditionally(
+    1:string conditionalWriter
+    2:map<binary, ConditionalUpdates> updates
+  ) throws (
+    1:UnknownWriter ouch1
+    2:AccumuloException ouch2
+    3:AccumuloSecurityException ouch3
+  )
+
+  // since 1.6.0
+  void closeConditionalWriter(
+    1:string conditionalWriter
+  )
 
   // utilities
-  Range getRowRange(1:binary row);
-  Key getFollowing(1:Key key, 2:PartialKey part);
+  Range getRowRange(
+    1:binary row
+  )
+
+  Key getFollowing(
+    1:Key key
+    2:PartialKey part
+  )
 
   // namespace operations, since 1.8.0
-  string systemNamespace();
-  string defaultNamespace();
-  list<string> listNamespaces(1:binary login)                                                      throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  bool namespaceExists(1:binary login, 2:string namespaceName)                                     throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void createNamespace(1:binary login, 2:string namespaceName)                                     throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceExistsException ouch3);
-  void deleteNamespace(1:binary login, 2:string namespaceName)                                     throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3, 4:NamespaceNotEmptyException ouch4);
-  void renameNamespace(1:binary login, 2:string oldNamespaceName, 3:string newNamespaceName)       throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3, 4:NamespaceExistsException ouch4);
-  void setNamespaceProperty(1:binary login, 2:string namespaceName, 3:string property,
-                            4:string value)                                                        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  void removeNamespaceProperty(1:binary login, 2:string namespaceName, 3:string property)          throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  map<string,string> getNamespaceProperties(1:binary login, 2:string namespaceName)                throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  map<string,string> namespaceIdMap(1:binary login)                                                throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2);
-  void attachNamespaceIterator(1:binary login, 2:string namespaceName, 3:IteratorSetting setting,
-                               4:set<IteratorScope> scopes)                                        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  void removeNamespaceIterator(1:binary login, 2:string namespaceName, 3:string name,
-                               4:set<IteratorScope> scopes)                                        throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  IteratorSetting getNamespaceIteratorSetting(1:binary login, 2:string namespaceName,
-                                              3:string name, 4:IteratorScope scope)                throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  map<string,set<IteratorScope>> listNamespaceIterators(1:binary login, 2:string namespaceName)    throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  void checkNamespaceIteratorConflicts(1:binary login, 2:string namespaceName,
-                                       3:IteratorSetting setting, 4:set<IteratorScope> scopes)     throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  i32 addNamespaceConstraint(1:binary login, 2:string namespaceName,
-                             3:string constraintClassName)                                         throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  void removeNamespaceConstraint(1:binary login, 2:string namespaceName, 3:i32 id)                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  map<string,i32> listNamespaceConstraints(1:binary login, 2:string namespaceName)                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
-  bool testNamespaceClassLoad(1:binary login, 2:string namespaceName, 3:string className,
-                              4:string asTypeName)                                                 throws (1:AccumuloException ouch1, 2:AccumuloSecurityException ouch2, 3:NamespaceNotFoundException ouch3);
+  string systemNamespace()
+  string defaultNamespace()
+
+  list<string> listNamespaces(
+    1:binary login
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  bool namespaceExists(
+    1:binary login
+    2:string namespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void createNamespace(
+    1:binary login
+    2:string namespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceExistsException ouch3
+  )
+
+  void deleteNamespace(
+    1:binary login
+    2:string namespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+    4:NamespaceNotEmptyException ouch4
+  )
+
+  void renameNamespace(
+    1:binary login
+    2:string oldNamespaceName
+    3:string newNamespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+    4:NamespaceExistsException ouch4
+  )
+
+  void setNamespaceProperty(
+    1:binary login
+    2:string namespaceName
+    3:string property
+    4:string value
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  void removeNamespaceProperty(
+    1:binary login
+    2:string namespaceName
+    3:string property
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  map<string, string> getNamespaceProperties(
+    1:binary login
+    2:string namespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  map<string, string> namespaceIdMap(
+    1:binary login
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+  )
+
+  void attachNamespaceIterator(
+    1:binary login
+    2:string namespaceName
+    3:IteratorSetting setting
+    4:set<IteratorScope> scopes
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  void removeNamespaceIterator(
+    1:binary login
+    2:string namespaceName
+    3:string name
+    4:set<IteratorScope> scopes
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  IteratorSetting getNamespaceIteratorSetting(
+    1:binary login
+    2:string namespaceName
+    3:string name
+    4:IteratorScope scope
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  map<string, set<IteratorScope>> listNamespaceIterators(
+    1:binary login
+    2:string namespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  void checkNamespaceIteratorConflicts(
+    1:binary login
+    2:string namespaceName
+    3:IteratorSetting setting
+    4:set<IteratorScope> scopes
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  i32 addNamespaceConstraint(
+    1:binary login
+    2:string namespaceName
+    3:string constraintClassName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  void removeNamespaceConstraint(
+    1:binary login
+    2:string namespaceName
+    3:i32 id
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  map<string, i32> listNamespaceConstraints(
+    1:binary login
+    2:string namespaceName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
+  bool testNamespaceClassLoad(
+    1:binary login
+    2:string namespaceName
+    3:string className
+    4:string asTypeName
+  ) throws (
+    1:AccumuloException ouch1
+    2:AccumuloSecurityException ouch2
+    3:NamespaceNotFoundException ouch3
+  )
+
 }
diff --git a/src/test/java/org/apache/accumulo/proxy/its/ProxyDurabilityIT.java b/src/test/java/org/apache/accumulo/proxy/its/ProxyDurabilityIT.java
new file mode 100644
index 0000000..1fdd9fc
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/ProxyDurabilityIT.java
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import static org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.nio.ByteBuffer;
+import java.nio.file.Files;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.TreeMap;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.accumulo.core.client.Accumulo;
+import org.apache.accumulo.core.client.AccumuloClient;
+import org.apache.accumulo.core.client.security.tokens.PasswordToken;
+import org.apache.accumulo.core.conf.ClientProperty;
+import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.security.Authorizations;
+import org.apache.accumulo.core.util.HostAndPort;
+import org.apache.accumulo.minicluster.ServerType;
+import org.apache.accumulo.miniclusterImpl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.miniclusterImpl.ProcessReference;
+import org.apache.accumulo.proxy.Proxy;
+import org.apache.accumulo.proxy.thrift.AccumuloProxy.Client;
+import org.apache.accumulo.proxy.thrift.Column;
+import org.apache.accumulo.proxy.thrift.ColumnUpdate;
+import org.apache.accumulo.proxy.thrift.Condition;
+import org.apache.accumulo.proxy.thrift.ConditionalStatus;
+import org.apache.accumulo.proxy.thrift.ConditionalUpdates;
+import org.apache.accumulo.proxy.thrift.ConditionalWriterOptions;
+import org.apache.accumulo.proxy.thrift.Durability;
+import org.apache.accumulo.proxy.thrift.TimeType;
+import org.apache.accumulo.proxy.thrift.WriterOptions;
+import org.apache.accumulo.server.util.PortUtils;
+import org.apache.accumulo.test.functional.ConfigurableMacBase;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.RawLocalFileSystem;
+import org.apache.thrift.protocol.TJSONProtocol;
+import org.apache.thrift.server.TServer;
+import org.junit.Test;
+
+import com.google.common.collect.Iterators;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+public class ProxyDurabilityIT extends ConfigurableMacBase {
+
+  @Override
+  protected int defaultTimeoutSeconds() {
+    return 120;
+  }
+
+  @Override
+  public void configure(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSite) {
+    hadoopCoreSite.set("fs.file.impl", RawLocalFileSystem.class.getName());
+    cfg.setProperty(Property.TSERV_NATIVEMAP_ENABLED, "false");
+    cfg.setClientProperty(ClientProperty.INSTANCE_ZOOKEEPERS_TIMEOUT, "15s");
+    cfg.setProperty(Property.INSTANCE_ZK_TIMEOUT, "15s");
+    cfg.setNumTservers(1);
+  }
+
+  @SuppressFBWarnings(value = {"DM_DEFAULT_ENCODING"},
+      justification = "no check needed on encoding")
+  private static ByteBuffer bytes(String value) {
+    return ByteBuffer.wrap(value.getBytes());
+  }
+
+  @SuppressFBWarnings(value = {"HARD_CODE_PASSWORD", "DM_DEFAULT_ENCODING"},
+      justification = "test password is okay and no check needed on encoding")
+  @Test
+  public void testDurability() throws Exception {
+    try (AccumuloClient c = Accumulo.newClient().from(getClientProperties()).build()) {
+      Properties proxyProps = new Properties();
+      // Avoid issues with locally installed client configuration files with custom properties
+      File emptyFile = Files.createTempFile(null, null).toFile();
+      emptyFile.deleteOnExit();
+      proxyProps.put("tokenClass", PasswordToken.class.getName());
+      proxyProps.putAll(getClientProperties());
+
+      TJSONProtocol.Factory protocol = new TJSONProtocol.Factory();
+
+      int proxyPort = PortUtils.getRandomFreePort();
+      final TServer proxyServer = Proxy.createProxyServer(
+          HostAndPort.fromParts("localhost", proxyPort), protocol, proxyProps).server;
+      while (!proxyServer.isServing())
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+      Client client = new TestProxyClient("localhost", proxyPort, protocol).proxy();
+      Map<String,String> properties = new TreeMap<>();
+      properties.put("password", ROOT_PASSWORD);
+      ByteBuffer login = client.login("root", properties);
+
+      String tableName = getUniqueNames(1)[0];
+      client.createTable(login, tableName, true, TimeType.MILLIS);
+      assertTrue(c.tableOperations().exists(tableName));
+
+      WriterOptions options = new WriterOptions();
+      options.setDurability(Durability.NONE);
+      String writer = client.createWriter(login, tableName, options);
+      Map<ByteBuffer,List<ColumnUpdate>> cells = new TreeMap<>();
+      ColumnUpdate column = new ColumnUpdate(bytes("cf"), bytes("cq"));
+      column.setValue("value".getBytes());
+      cells.put(bytes("row"), Collections.singletonList(column));
+      client.update(writer, cells);
+      client.closeWriter(writer);
+      assertEquals(1, count(c, tableName));
+      restartTServer();
+      assertEquals(0, count(c, tableName));
+
+      ConditionalWriterOptions cfg = new ConditionalWriterOptions();
+      cfg.setDurability(Durability.SYNC);
+      String cwriter = client.createConditionalWriter(login, tableName, cfg);
+      ConditionalUpdates updates = new ConditionalUpdates();
+      updates.addToConditions(new Condition(new Column(bytes("cf"), bytes("cq"), bytes(""))));
+      updates.addToUpdates(column);
+      Map<ByteBuffer,ConditionalStatus> status = client.updateRowsConditionally(cwriter,
+          Collections.singletonMap(bytes("row"), updates));
+      assertEquals(ConditionalStatus.ACCEPTED, status.get(bytes("row")));
+      assertEquals(1, count(c, tableName));
+      restartTServer();
+      assertEquals(1, count(c, tableName));
+
+      proxyServer.stop();
+    }
+  }
+
+  private void restartTServer() throws Exception {
+    for (ProcessReference proc : cluster.getProcesses().get(ServerType.TABLET_SERVER)) {
+      cluster.killProcess(ServerType.TABLET_SERVER, proc);
+    }
+    cluster.start();
+  }
+
+  private int count(AccumuloClient client, String tableName) throws Exception {
+    return Iterators.size((client.createScanner(tableName, Authorizations.EMPTY)).iterator());
+  }
+
+}
diff --git a/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java b/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java
new file mode 100644
index 0000000..b645975
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java
@@ -0,0 +1,2876 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import static java.nio.charset.StandardCharsets.UTF_8;
+import static org.apache.accumulo.fate.util.UtilWaitThread.sleepUninterruptibly;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStreamReader;
+import java.net.InetAddress;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.EnumSet;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.accumulo.cluster.ClusterUser;
+import org.apache.accumulo.core.client.Accumulo;
+import org.apache.accumulo.core.client.AccumuloClient;
+import org.apache.accumulo.core.client.security.tokens.KerberosToken;
+import org.apache.accumulo.core.client.security.tokens.PasswordToken;
+import org.apache.accumulo.core.clientImpl.ClientInfo;
+import org.apache.accumulo.core.clientImpl.Namespace;
+import org.apache.accumulo.core.conf.DefaultConfiguration;
+import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.crypto.CryptoServiceFactory;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.file.FileOperations;
+import org.apache.accumulo.core.file.FileSKVWriter;
+import org.apache.accumulo.core.iterators.DebugIterator;
+import org.apache.accumulo.core.iterators.DevNull;
+import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.user.SummingCombiner;
+import org.apache.accumulo.core.iterators.user.VersioningIterator;
+import org.apache.accumulo.core.metadata.MetadataTable;
+import org.apache.accumulo.core.security.Authorizations;
+import org.apache.accumulo.core.util.ByteBufferUtil;
+import org.apache.accumulo.core.util.HostAndPort;
+import org.apache.accumulo.harness.MiniClusterConfigurationCallback;
+import org.apache.accumulo.harness.MiniClusterHarness;
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.accumulo.harness.TestingKdc;
+import org.apache.accumulo.miniclusterImpl.MiniAccumuloClusterImpl;
+import org.apache.accumulo.miniclusterImpl.MiniAccumuloConfigImpl;
+import org.apache.accumulo.proxy.Proxy;
+import org.apache.accumulo.proxy.thrift.AccumuloProxy.Client;
+import org.apache.accumulo.proxy.thrift.AccumuloSecurityException;
+import org.apache.accumulo.proxy.thrift.ActiveCompaction;
+import org.apache.accumulo.proxy.thrift.ActiveScan;
+import org.apache.accumulo.proxy.thrift.BatchScanOptions;
+import org.apache.accumulo.proxy.thrift.Column;
+import org.apache.accumulo.proxy.thrift.ColumnUpdate;
+import org.apache.accumulo.proxy.thrift.CompactionReason;
+import org.apache.accumulo.proxy.thrift.CompactionStrategyConfig;
+import org.apache.accumulo.proxy.thrift.CompactionType;
+import org.apache.accumulo.proxy.thrift.Condition;
+import org.apache.accumulo.proxy.thrift.ConditionalStatus;
+import org.apache.accumulo.proxy.thrift.ConditionalUpdates;
+import org.apache.accumulo.proxy.thrift.ConditionalWriterOptions;
+import org.apache.accumulo.proxy.thrift.DiskUsage;
+import org.apache.accumulo.proxy.thrift.IteratorScope;
+import org.apache.accumulo.proxy.thrift.IteratorSetting;
+import org.apache.accumulo.proxy.thrift.Key;
+import org.apache.accumulo.proxy.thrift.KeyValue;
+import org.apache.accumulo.proxy.thrift.MutationsRejectedException;
+import org.apache.accumulo.proxy.thrift.NamespaceExistsException;
+import org.apache.accumulo.proxy.thrift.NamespaceNotEmptyException;
+import org.apache.accumulo.proxy.thrift.NamespaceNotFoundException;
+import org.apache.accumulo.proxy.thrift.NamespacePermission;
+import org.apache.accumulo.proxy.thrift.PartialKey;
+import org.apache.accumulo.proxy.thrift.Range;
+import org.apache.accumulo.proxy.thrift.ScanColumn;
+import org.apache.accumulo.proxy.thrift.ScanOptions;
+import org.apache.accumulo.proxy.thrift.ScanResult;
+import org.apache.accumulo.proxy.thrift.ScanState;
+import org.apache.accumulo.proxy.thrift.ScanType;
+import org.apache.accumulo.proxy.thrift.SystemPermission;
+import org.apache.accumulo.proxy.thrift.TableExistsException;
+import org.apache.accumulo.proxy.thrift.TableNotFoundException;
+import org.apache.accumulo.proxy.thrift.TablePermission;
+import org.apache.accumulo.proxy.thrift.TimeType;
+import org.apache.accumulo.proxy.thrift.UnknownScanner;
+import org.apache.accumulo.proxy.thrift.UnknownWriter;
+import org.apache.accumulo.proxy.thrift.WriterOptions;
+import org.apache.accumulo.server.util.PortUtils;
+import org.apache.accumulo.test.constraints.MaxMutationSize;
+import org.apache.accumulo.test.constraints.NumericValueConstraint;
+import org.apache.accumulo.test.functional.SlowIterator;
+import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.FileUtil;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.io.Text;
+import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.thrift.TApplicationException;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TProtocolFactory;
+import org.apache.thrift.server.TServer;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.google.common.collect.Iterators;
+
+/**
+ * Call every method on the proxy and try to verify that it works.
+ */
+public abstract class SimpleProxyBase extends SharedMiniClusterBase {
+  private static final Logger log = LoggerFactory.getLogger(SimpleProxyBase.class);
+
+  @Override
+  protected int defaultTimeoutSeconds() {
+    return 60;
+  }
+
+  private static final long ZOOKEEPER_PROPAGATION_TIME = 10 * 1000;
+  private static TServer proxyServer;
+  private static int proxyPort;
+
+  private TestProxyClient proxyClient;
+  private org.apache.accumulo.proxy.thrift.AccumuloProxy.Client client;
+
+  private static Map<String,String> properties = new HashMap<>();
+  private static String hostname, proxyPrincipal, proxyPrimary, clientPrincipal;
+  private static File proxyKeytab, clientKeytab;
+
+  private ByteBuffer creds = null;
+
+  // Implementations can set this
+  static TProtocolFactory factory = null;
+
+  private static void waitForAccumulo(AccumuloClient c) throws Exception {
+    Iterators.size(c.createScanner(MetadataTable.NAME, Authorizations.EMPTY).iterator());
+  }
+
+  private static boolean isKerberosEnabled() {
+    return SharedMiniClusterBase.TRUE
+        .equals(System.getProperty(MiniClusterHarness.USE_KERBEROS_FOR_IT_OPTION));
+  }
+
+  /**
+   * The purpose of this callback is to setup the tests to NOT use the native libs
+   */
+  protected static class TestConfig implements MiniClusterConfigurationCallback {
+    @Override
+    public void configureMiniCluster(MiniAccumuloConfigImpl cfg, Configuration coreSite) {
+      // Set the min span to 0 so we will definitely get all the traces back. See ACCUMULO-4365
+      Map<String,String> siteConf = cfg.getSiteConfig();
+      siteConf.put(Property.TSERV_NATIVEMAP_ENABLED.getKey(), "false");
+      cfg.setSiteConfig(siteConf);
+    }
+  }
+
+  /**
+   * Does the actual test setup, invoked by the concrete test class
+   */
+  public static void setUpProxy() throws Exception {
+    assertNotNull("Implementations must initialize the TProtocolFactory", factory);
+
+    try (AccumuloClient c = Accumulo.newClient().from(getClientProps()).build()) {
+      waitForAccumulo(c);
+
+      hostname = InetAddress.getLocalHost().getCanonicalHostName();
+
+      Properties props = new Properties();
+      ClientInfo info = ClientInfo.from(c.properties());
+      props.put("instance", info.getInstanceName());
+      props.put("zookeepers", info.getZooKeepers());
+
+      final String tokenClass;
+      if (isKerberosEnabled()) {
+        tokenClass = KerberosToken.class.getName();
+        TestingKdc kdc = getKdc();
+
+        // Create a principal+keytab for the proxy
+        proxyKeytab = new File(kdc.getKeytabDir(), "proxy.keytab");
+        hostname = InetAddress.getLocalHost().getCanonicalHostName();
+        // Set the primary because the client needs to know it
+        proxyPrimary = "proxy";
+        // Qualify with an instance
+        proxyPrincipal = proxyPrimary + "/" + hostname;
+        kdc.createPrincipal(proxyKeytab, proxyPrincipal);
+        // Tack on the realm too
+        proxyPrincipal = kdc.qualifyUser(proxyPrincipal);
+
+        props.setProperty("kerberosPrincipal", proxyPrincipal);
+        props.setProperty("kerberosKeytab", proxyKeytab.getCanonicalPath());
+        props.setProperty("thriftServerType", "sasl");
+
+        // Enabled kerberos auth
+        Configuration conf = new Configuration(false);
+        conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION, "kerberos");
+        UserGroupInformation.setConfiguration(conf);
+
+        // Login for the Proxy itself
+        UserGroupInformation.loginUserFromKeytab(proxyPrincipal, proxyKeytab.getAbsolutePath());
+
+        // User for tests
+        ClusterUser user = kdc.getRootUser();
+        clientPrincipal = user.getPrincipal();
+        clientKeytab = user.getKeytab();
+      } else {
+        clientPrincipal = "root";
+        tokenClass = PasswordToken.class.getName();
+        properties.put("password", SharedMiniClusterBase.getRootPassword());
+        hostname = "localhost";
+      }
+
+      props.put("tokenClass", tokenClass);
+      props.putAll(SharedMiniClusterBase.getCluster().getClientProperties());
+      proxyPort = PortUtils.getRandomFreePort();
+      proxyServer = Proxy.createProxyServer(HostAndPort.fromParts(hostname, proxyPort), factory,
+          props).server;
+      while (!proxyServer.isServing())
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+    }
+  }
+
+  @AfterClass
+  public static void tearDownProxy() throws Exception {
+    if (proxyServer != null) {
+      proxyServer.stop();
+    }
+
+    SharedMiniClusterBase.stopMiniCluster();
+  }
+
+  final IteratorSetting setting = new IteratorSetting(100, "slow", SlowIterator.class.getName(),
+      Collections.singletonMap("sleepTime", "200"));
+  String tableName;
+  String namespaceName;
+  ByteBuffer badLogin;
+
+  @Before
+  public void setup() throws Exception {
+    // Create a new client for each test
+    if (isKerberosEnabled()) {
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      proxyClient = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary,
+          UserGroupInformation.getCurrentUser());
+      client = proxyClient.proxy();
+      creds = client.login(clientPrincipal, properties);
+
+      TestingKdc kdc = getKdc();
+      final ClusterUser user = kdc.getClientPrincipal(0);
+      // Create another user
+      client.createLocalUser(creds, user.getPrincipal(), s2bb("unused"));
+      // Login in as that user we just created
+      UserGroupInformation.loginUserFromKeytab(user.getPrincipal(),
+          user.getKeytab().getAbsolutePath());
+      final UserGroupInformation badUgi = UserGroupInformation.getCurrentUser();
+      // Get a "Credentials" object for the proxy
+      TestProxyClient badClient = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary,
+          badUgi);
+      try {
+        Client badProxy = badClient.proxy();
+        badLogin = badProxy.login(user.getPrincipal(), properties);
+      } finally {
+        badClient.close();
+      }
+
+      // Log back in as the test user
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      // Drop test user, invalidating the credentials (not to mention not having the krb credentials
+      // anymore)
+      client.dropLocalUser(creds, user.getPrincipal());
+    } else {
+      proxyClient = new TestProxyClient(hostname, proxyPort, factory);
+      client = proxyClient.proxy();
+      creds = client.login("root", properties);
+
+      // Create 'user'
+      client.createLocalUser(creds, "user", s2bb(SharedMiniClusterBase.getRootPassword()));
+      // Log in as 'user'
+      badLogin = client.login("user", properties);
+      // Drop 'user', invalidating the credentials
+      client.dropLocalUser(creds, "user");
+    }
+
+    // Create some unique names for tables, namespaces, etc.
+    String[] uniqueNames = getUniqueNames(2);
+
+    // Create a general table to be used
+    tableName = uniqueNames[0];
+    client.createTable(creds, tableName, true, TimeType.MILLIS);
+
+    // Create a general namespace to be used
+    namespaceName = uniqueNames[1];
+    client.createNamespace(creds, namespaceName);
+  }
+
+  @After
+  public void teardown() throws Exception {
+    if (tableName != null) {
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      }
+      try {
+        if (client.tableExists(creds, tableName)) {
+          client.deleteTable(creds, tableName);
+        }
+      } catch (Exception e) {
+        log.warn("Failed to delete test table", e);
+      }
+    }
+
+    if (namespaceName != null) {
+      try {
+        if (client.namespaceExists(creds, namespaceName)) {
+          client.deleteNamespace(creds, namespaceName);
+        }
+      } catch (Exception e) {
+        log.warn("Failed to delete test namespace", e);
+      }
+    }
+
+    // Close the transport after the test
+    if (proxyClient != null) {
+      proxyClient.close();
+    }
+  }
+
+  /*
+   * Set a lower timeout for tests that should fail fast
+   */
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void addConstraintLoginFailure() throws Exception {
+    client.addConstraint(badLogin, tableName, NumericValueConstraint.class.getName());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void addSplitsLoginFailure() throws Exception {
+    client.addSplits(badLogin, tableName, Collections.singleton(s2bb("1")));
+  }
+
+  @Test(expected = TApplicationException.class, timeout = 5000)
+  public void clearLocatorCacheLoginFailure() throws Exception {
+    client.clearLocatorCache(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void compactTableLoginFailure() throws Exception {
+    client.compactTable(badLogin, tableName, null, null, null, true, false, null);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void cancelCompactionLoginFailure() throws Exception {
+    client.cancelCompaction(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createTableLoginFailure() throws Exception {
+    client.createTable(badLogin, tableName, false, TimeType.MILLIS);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void deleteTableLoginFailure() throws Exception {
+    client.deleteTable(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void deleteRowsLoginFailure() throws Exception {
+    client.deleteRows(badLogin, tableName, null, null);
+  }
+
+  @Test(expected = TApplicationException.class, timeout = 5000)
+  public void tableExistsLoginFailure() throws Exception {
+    client.tableExists(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void flustTableLoginFailure() throws Exception {
+    client.flushTable(badLogin, tableName, null, null, false);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getLocalityGroupsLoginFailure() throws Exception {
+    client.getLocalityGroups(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getMaxRowLoginFailure() throws Exception {
+    client.getMaxRow(badLogin, tableName, Collections.<ByteBuffer> emptySet(), null, false, null,
+        false);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getTablePropertiesLoginFailure() throws Exception {
+    client.getTableProperties(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listSplitsLoginFailure() throws Exception {
+    client.listSplits(badLogin, tableName, 10000);
+  }
+
+  @Test(expected = TApplicationException.class, timeout = 5000)
+  public void listTablesLoginFailure() throws Exception {
+    client.listTables(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listConstraintsLoginFailure() throws Exception {
+    client.listConstraints(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void mergeTabletsLoginFailure() throws Exception {
+    client.mergeTablets(badLogin, tableName, null, null);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void offlineTableLoginFailure() throws Exception {
+    client.offlineTable(badLogin, tableName, false);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void onlineTableLoginFailure() throws Exception {
+    client.onlineTable(badLogin, tableName, false);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removeConstraintLoginFailure() throws Exception {
+    client.removeConstraint(badLogin, tableName, 0);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removeTablePropertyLoginFailure() throws Exception {
+    client.removeTableProperty(badLogin, tableName, Property.TABLE_FILE_MAX.getKey());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void renameTableLoginFailure() throws Exception {
+    client.renameTable(badLogin, tableName, "someTableName");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void setLocalityGroupsLoginFailure() throws Exception {
+    Map<String,Set<String>> groups = new HashMap<>();
+    groups.put("group1", Collections.singleton("cf1"));
+    groups.put("group2", Collections.singleton("cf2"));
+    client.setLocalityGroups(badLogin, tableName, groups);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void setTablePropertyLoginFailure() throws Exception {
+    client.setTableProperty(badLogin, tableName, Property.TABLE_FILE_MAX.getKey(), "0");
+  }
+
+  @Test(expected = TException.class, timeout = 5000)
+  public void tableIdMapLoginFailure() throws Exception {
+    client.tableIdMap(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getSiteConfigurationLoginFailure() throws Exception {
+    client.getSiteConfiguration(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getSystemConfigurationLoginFailure() throws Exception {
+    client.getSystemConfiguration(badLogin);
+  }
+
+  @Test(expected = TException.class, timeout = 5000)
+  public void getTabletServersLoginFailure() throws Exception {
+    client.getTabletServers(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getActiveScansLoginFailure() throws Exception {
+    client.getActiveScans(badLogin, "fake");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getActiveCompactionsLoginFailure() throws Exception {
+    client.getActiveCompactions(badLogin, "fakse");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removePropertyLoginFailure() throws Exception {
+    client.removeProperty(badLogin, "table.split.threshold");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void setPropertyLoginFailure() throws Exception {
+    client.setProperty(badLogin, "table.split.threshold", "500M");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void testClassLoadLoginFailure() throws Exception {
+    client.testClassLoad(badLogin, DevNull.class.getName(), SortedKeyValueIterator.class.getName());
+  }
+
+  @Test(timeout = 5000)
+  public void authenticateUserLoginFailure() throws Exception {
+    if (!isKerberosEnabled()) {
+      try {
+        // Not really a relevant test for kerberos
+        client.authenticateUser(badLogin, "root", s2pp(SharedMiniClusterBase.getRootPassword()));
+        fail("Expected AccumuloSecurityException");
+      } catch (AccumuloSecurityException e) {
+        // Expected
+        return;
+      }
+    }
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void changeUserAuthorizationsLoginFailure() throws Exception {
+    HashSet<ByteBuffer> auths = new HashSet<>(Arrays.asList(s2bb("A"), s2bb("B")));
+    client.changeUserAuthorizations(badLogin, "stooge", auths);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void changePasswordLoginFailure() throws Exception {
+    client.changeLocalUserPassword(badLogin, "stooge", s2bb(""));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createUserLoginFailure() throws Exception {
+    client.createLocalUser(badLogin, "stooge", s2bb("password"));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void dropUserLoginFailure() throws Exception {
+    client.dropLocalUser(badLogin, "stooge");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getUserAuthorizationsLoginFailure() throws Exception {
+    client.getUserAuthorizations(badLogin, "stooge");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void grantSystemPermissionLoginFailure() throws Exception {
+    client.grantSystemPermission(badLogin, "stooge", SystemPermission.CREATE_TABLE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void grantTablePermissionLoginFailure() throws Exception {
+    client.grantTablePermission(badLogin, "root", tableName, TablePermission.WRITE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void hasSystemPermissionLoginFailure() throws Exception {
+    client.hasSystemPermission(badLogin, "stooge", SystemPermission.CREATE_TABLE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void hasTablePermission() throws Exception {
+    client.hasTablePermission(badLogin, "root", tableName, TablePermission.WRITE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listLocalUsersLoginFailure() throws Exception {
+    client.listLocalUsers(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void revokeSystemPermissionLoginFailure() throws Exception {
+    client.revokeSystemPermission(badLogin, "stooge", SystemPermission.CREATE_TABLE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void revokeTablePermissionLoginFailure() throws Exception {
+    client.revokeTablePermission(badLogin, "root", tableName, TablePermission.ALTER_TABLE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createScannerLoginFailure() throws Exception {
+    client.createScanner(badLogin, tableName, new ScanOptions());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createBatchScannerLoginFailure() throws Exception {
+    client.createBatchScanner(badLogin, tableName, new BatchScanOptions());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void updateAndFlushLoginFailure() throws Exception {
+    client.updateAndFlush(badLogin, tableName, new HashMap<ByteBuffer,List<ColumnUpdate>>());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createWriterLoginFailure() throws Exception {
+    client.createWriter(badLogin, tableName, new WriterOptions());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void attachIteratorLoginFailure() throws Exception {
+    client.attachIterator(badLogin, "slow", setting, EnumSet.allOf(IteratorScope.class));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void checkIteratorLoginFailure() throws Exception {
+    client.checkIteratorConflicts(badLogin, tableName, setting, EnumSet.allOf(IteratorScope.class));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void cloneTableLoginFailure() throws Exception {
+    client.cloneTable(badLogin, tableName, tableName + "_clone", false, null, null);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void exportTableLoginFailure() throws Exception {
+    client.exportTable(badLogin, tableName, "/tmp");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void importTableLoginFailure() throws Exception {
+    client.importTable(badLogin, "testify", "/tmp");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getIteratorSettingLoginFailure() throws Exception {
+    client.getIteratorSetting(badLogin, tableName, "foo", IteratorScope.SCAN);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listIteratorsLoginFailure() throws Exception {
+    client.listIterators(badLogin, tableName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removeIteratorLoginFailure() throws Exception {
+    client.removeIterator(badLogin, tableName, "name", EnumSet.allOf(IteratorScope.class));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void splitRangeByTabletsLoginFailure() throws Exception {
+    client.splitRangeByTablets(badLogin, tableName,
+        client.getRowRange(ByteBuffer.wrap("row".getBytes(UTF_8))), 10);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void importDirectoryLoginFailure() throws Exception {
+    MiniAccumuloClusterImpl cluster = SharedMiniClusterBase.getCluster();
+    Path base = cluster.getTemporaryPath();
+    Path importDir = new Path(base, "importDir");
+    Path failuresDir = new Path(base, "failuresDir");
+    assertTrue(cluster.getFileSystem().mkdirs(importDir));
+    assertTrue(cluster.getFileSystem().mkdirs(failuresDir));
+    client.importDirectory(badLogin, tableName, importDir.toString(), failuresDir.toString(), true);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void pingTabletServerLoginFailure() throws Exception {
+    client.pingTabletServer(badLogin, "fake");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void loginFailure() throws Exception {
+    client.login("badUser", properties);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void testTableClassLoadLoginFailure() throws Exception {
+    client.testTableClassLoad(badLogin, tableName, VersioningIterator.class.getName(),
+        SortedKeyValueIterator.class.getName());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createConditionalWriterLoginFailure() throws Exception {
+    client.createConditionalWriter(badLogin, tableName, new ConditionalWriterOptions());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void grantNamespacePermissionLoginFailure() throws Exception {
+    client.grantNamespacePermission(badLogin, "stooge", namespaceName,
+        NamespacePermission.ALTER_NAMESPACE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void hasNamespacePermissionLoginFailure() throws Exception {
+    client.hasNamespacePermission(badLogin, "stooge", namespaceName,
+        NamespacePermission.ALTER_NAMESPACE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void revokeNamespacePermissionLoginFailure() throws Exception {
+    client.revokeNamespacePermission(badLogin, "stooge", namespaceName,
+        NamespacePermission.ALTER_NAMESPACE);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listNamespacesLoginFailure() throws Exception {
+    client.listNamespaces(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void namespaceExistsLoginFailure() throws Exception {
+    client.namespaceExists(badLogin, namespaceName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void createNamespaceLoginFailure() throws Exception {
+    client.createNamespace(badLogin, "abcdef");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void deleteNamespaceLoginFailure() throws Exception {
+    client.deleteNamespace(badLogin, namespaceName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void renameNamespaceLoginFailure() throws Exception {
+    client.renameNamespace(badLogin, namespaceName, "abcdef");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void setNamespacePropertyLoginFailure() throws Exception {
+    client.setNamespaceProperty(badLogin, namespaceName, "table.compaction.major.ratio", "4");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removeNamespacePropertyLoginFailure() throws Exception {
+    client.removeNamespaceProperty(badLogin, namespaceName, "table.compaction.major.ratio");
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getNamespacePropertiesLoginFailure() throws Exception {
+    client.getNamespaceProperties(badLogin, namespaceName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void namespaceIdMapLoginFailure() throws Exception {
+    client.namespaceIdMap(badLogin);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void attachNamespaceIteratorLoginFailure() throws Exception {
+    IteratorSetting setting = new IteratorSetting(100, "DebugTheThings",
+        DebugIterator.class.getName(), Collections.emptyMap());
+    client.attachNamespaceIterator(badLogin, namespaceName, setting,
+        EnumSet.allOf(IteratorScope.class));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removeNamespaceIteratorLoginFailure() throws Exception {
+    client.removeNamespaceIterator(badLogin, namespaceName, "DebugTheThings",
+        EnumSet.allOf(IteratorScope.class));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void getNamespaceIteratorSettingLoginFailure() throws Exception {
+    client.getNamespaceIteratorSetting(badLogin, namespaceName, "DebugTheThings",
+        IteratorScope.SCAN);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listNamespaceIteratorsLoginFailure() throws Exception {
+    client.listNamespaceIterators(badLogin, namespaceName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void checkNamespaceIteratorConflictsLoginFailure() throws Exception {
+    IteratorSetting setting = new IteratorSetting(100, "DebugTheThings",
+        DebugIterator.class.getName(), Collections.emptyMap());
+    client.checkNamespaceIteratorConflicts(badLogin, namespaceName, setting,
+        EnumSet.allOf(IteratorScope.class));
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void addNamespaceConstraintLoginFailure() throws Exception {
+    client.addNamespaceConstraint(badLogin, namespaceName, MaxMutationSize.class.getName());
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void removeNamespaceConstraintLoginFailure() throws Exception {
+    client.removeNamespaceConstraint(badLogin, namespaceName, 1);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void listNamespaceConstraintsLoginFailure() throws Exception {
+    client.listNamespaceConstraints(badLogin, namespaceName);
+  }
+
+  @Test(expected = AccumuloSecurityException.class, timeout = 5000)
+  public void testNamespaceClassLoadLoginFailure() throws Exception {
+    client.testNamespaceClassLoad(badLogin, namespaceName, DebugIterator.class.getName(),
+        SortedKeyValueIterator.class.getName());
+  }
+
+  @Test
+  public void tableNotFound() throws Exception {
+    final String doesNotExist = "doesNotExists";
+    try {
+      client.addConstraint(creds, doesNotExist, NumericValueConstraint.class.getName());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.addSplits(creds, doesNotExist, Collections.<ByteBuffer> emptySet());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    final IteratorSetting setting = new IteratorSetting(100, "slow", SlowIterator.class.getName(),
+        Collections.singletonMap("sleepTime", "200"));
+    try {
+      client.attachIterator(creds, doesNotExist, setting, EnumSet.allOf(IteratorScope.class));
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.cancelCompaction(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.checkIteratorConflicts(creds, doesNotExist, setting,
+          EnumSet.allOf(IteratorScope.class));
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.clearLocatorCache(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      final String TABLE_TEST = getUniqueNames(1)[0];
+      client.cloneTable(creds, doesNotExist, TABLE_TEST, false, null, null);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.compactTable(creds, doesNotExist, null, null, null, true, false, null);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.createBatchScanner(creds, doesNotExist, new BatchScanOptions());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.createScanner(creds, doesNotExist, new ScanOptions());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.createWriter(creds, doesNotExist, new WriterOptions());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.deleteRows(creds, doesNotExist, null, null);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.deleteTable(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.exportTable(creds, doesNotExist, "/tmp");
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.flushTable(creds, doesNotExist, null, null, false);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.getIteratorSetting(creds, doesNotExist, "foo", IteratorScope.SCAN);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.getLocalityGroups(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.getMaxRow(creds, doesNotExist, Collections.<ByteBuffer> emptySet(), null, false, null,
+          false);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.getTableProperties(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.grantTablePermission(creds, "root", doesNotExist, TablePermission.WRITE);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.hasTablePermission(creds, "root", doesNotExist, TablePermission.WRITE);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      MiniAccumuloClusterImpl cluster = SharedMiniClusterBase.getCluster();
+      Path base = cluster.getTemporaryPath();
+      Path importDir = new Path(base, "importDir");
+      Path failuresDir = new Path(base, "failuresDir");
+      assertTrue(cluster.getFileSystem().mkdirs(importDir));
+      assertTrue(cluster.getFileSystem().mkdirs(failuresDir));
+      client.importDirectory(creds, doesNotExist, importDir.toString(), failuresDir.toString(),
+          true);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.listConstraints(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.listSplits(creds, doesNotExist, 10000);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.mergeTablets(creds, doesNotExist, null, null);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.offlineTable(creds, doesNotExist, false);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.onlineTable(creds, doesNotExist, false);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.removeConstraint(creds, doesNotExist, 0);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.removeIterator(creds, doesNotExist, "name", EnumSet.allOf(IteratorScope.class));
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.removeTableProperty(creds, doesNotExist, Property.TABLE_FILE_MAX.getKey());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.renameTable(creds, doesNotExist, "someTableName");
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.revokeTablePermission(creds, "root", doesNotExist, TablePermission.ALTER_TABLE);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.setTableProperty(creds, doesNotExist, Property.TABLE_FILE_MAX.getKey(), "0");
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.splitRangeByTablets(creds, doesNotExist,
+          client.getRowRange(ByteBuffer.wrap("row".getBytes(UTF_8))), 10);
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.updateAndFlush(creds, doesNotExist, new HashMap<ByteBuffer,List<ColumnUpdate>>());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.getDiskUsage(creds, Collections.singleton(doesNotExist));
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.testTableClassLoad(creds, doesNotExist, VersioningIterator.class.getName(),
+          SortedKeyValueIterator.class.getName());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+    try {
+      client.createConditionalWriter(creds, doesNotExist, new ConditionalWriterOptions());
+      fail("exception not thrown");
+    } catch (TableNotFoundException ex) {}
+  }
+
+  @Test
+  public void namespaceNotFound() throws Exception {
+    final String doesNotExist = "doesNotExists";
+    try {
+      client.deleteNamespace(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.renameNamespace(creds, doesNotExist, "abcdefg");
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.setNamespaceProperty(creds, doesNotExist, "table.compaction.major.ratio", "4");
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.removeNamespaceProperty(creds, doesNotExist, "table.compaction.major.ratio");
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.getNamespaceProperties(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      IteratorSetting setting = new IteratorSetting(100, "DebugTheThings",
+          DebugIterator.class.getName(), Collections.emptyMap());
+      client.attachNamespaceIterator(creds, doesNotExist, setting,
+          EnumSet.allOf(IteratorScope.class));
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.removeNamespaceIterator(creds, doesNotExist, "DebugTheThings",
+          EnumSet.allOf(IteratorScope.class));
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.getNamespaceIteratorSetting(creds, doesNotExist, "DebugTheThings", IteratorScope.SCAN);
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.listNamespaceIterators(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      IteratorSetting setting = new IteratorSetting(100, "DebugTheThings",
+          DebugIterator.class.getName(), Collections.emptyMap());
+      client.checkNamespaceIteratorConflicts(creds, doesNotExist, setting,
+          EnumSet.allOf(IteratorScope.class));
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.addNamespaceConstraint(creds, doesNotExist, MaxMutationSize.class.getName());
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.removeNamespaceConstraint(creds, doesNotExist, 1);
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.listNamespaceConstraints(creds, doesNotExist);
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+    try {
+      client.testNamespaceClassLoad(creds, doesNotExist, DebugIterator.class.getName(),
+          SortedKeyValueIterator.class.getName());
+      fail("exception not thrown");
+    } catch (NamespaceNotFoundException ex) {}
+  }
+
+  @Test
+  public void testExists() throws Exception {
+    client.createTable(creds, "ett1", false, TimeType.MILLIS);
+    client.createTable(creds, "ett2", false, TimeType.MILLIS);
+    try {
+      client.createTable(creds, "ett1", false, TimeType.MILLIS);
+      fail("exception not thrown");
+    } catch (TableExistsException tee) {}
+    try {
+      client.renameTable(creds, "ett1", "ett2");
+      fail("exception not thrown");
+    } catch (TableExistsException tee) {}
+    try {
+      client.cloneTable(creds, "ett1", "ett2", false, new HashMap<String,String>(),
+          new HashSet<String>());
+      fail("exception not thrown");
+    } catch (TableExistsException tee) {}
+  }
+
+  @Test
+  public void testNamespaceExists() throws Exception {
+    client.createNamespace(creds, "foobar");
+    try {
+      client.createNamespace(creds, namespaceName);
+      fail("exception not thrown");
+    } catch (NamespaceExistsException ex) {}
+    try {
+      client.renameNamespace(creds, "foobar", namespaceName);
+      fail("exception not thrown");
+    } catch (NamespaceExistsException ex) {}
+  }
+
+  @Test(expected = NamespaceNotEmptyException.class)
+  public void testNamespaceNotEmpty() throws Exception {
+    client.createTable(creds, namespaceName + ".abcdefg", true, TimeType.MILLIS);
+    client.deleteNamespace(creds, namespaceName);
+  }
+
+  @Test
+  public void testUnknownScanner() throws Exception {
+    String scanner = client.createScanner(creds, tableName, null);
+    assertFalse(client.hasNext(scanner));
+    client.closeScanner(scanner);
+
+    try {
+      client.hasNext(scanner);
+      fail("exception not thrown");
+    } catch (UnknownScanner us) {}
+
+    try {
+      client.closeScanner(scanner);
+      fail("exception not thrown");
+    } catch (UnknownScanner us) {}
+
+    try {
+      client.nextEntry("99999999");
+      fail("exception not thrown");
+    } catch (UnknownScanner us) {}
+    try {
+      client.nextK("99999999", 6);
+      fail("exception not thrown");
+    } catch (UnknownScanner us) {}
+    try {
+      client.hasNext("99999999");
+      fail("exception not thrown");
+    } catch (UnknownScanner us) {}
+    try {
+      client.hasNext(UUID.randomUUID().toString());
+      fail("exception not thrown");
+    } catch (UnknownScanner us) {}
+  }
+
+  @Test
+  public void testUnknownWriter() throws Exception {
+    String writer = client.createWriter(creds, tableName, null);
+    client.update(writer, mutation("row0", "cf", "cq", "value"));
+    client.flush(writer);
+    client.update(writer, mutation("row2", "cf", "cq", "value2"));
+    client.closeWriter(writer);
+
+    // this is a oneway call, so it does not throw exceptions
+    client.update(writer, mutation("row2", "cf", "cq", "value2"));
+
+    try {
+      client.flush(writer);
+      fail("exception not thrown");
+    } catch (UnknownWriter uw) {}
+    try {
+      client.flush("99999");
+      fail("exception not thrown");
+    } catch (UnknownWriter uw) {}
+    try {
+      client.flush(UUID.randomUUID().toString());
+      fail("exception not thrown");
+    } catch (UnknownWriter uw) {}
+    try {
+      client.closeWriter("99999");
+      fail("exception not thrown");
+    } catch (UnknownWriter uw) {}
+  }
+
+  @Test
+  public void testDelete() throws Exception {
+    client.updateAndFlush(creds, tableName, mutation("row0", "cf", "cq", "value"));
+
+    assertScan(new String[][] {{"row0", "cf", "cq", "value"}}, tableName);
+
+    ColumnUpdate upd = new ColumnUpdate(s2bb("cf"), s2bb("cq"));
+    upd.setDeleteCell(false);
+    Map<ByteBuffer,List<ColumnUpdate>> notDelete = Collections.singletonMap(s2bb("row0"),
+        Collections.singletonList(upd));
+    client.updateAndFlush(creds, tableName, notDelete);
+    String scanner = client.createScanner(creds, tableName, null);
+    ScanResult entries = client.nextK(scanner, 10);
+    client.closeScanner(scanner);
+    assertFalse(entries.more);
+    assertEquals("Results: " + entries.results, 1, entries.results.size());
+
+    upd = new ColumnUpdate(s2bb("cf"), s2bb("cq"));
+    upd.setDeleteCell(true);
+    Map<ByteBuffer,List<ColumnUpdate>> delete = Collections.singletonMap(s2bb("row0"),
+        Collections.singletonList(upd));
+
+    client.updateAndFlush(creds, tableName, delete);
+
+    assertScan(new String[][] {}, tableName);
+  }
+
+  @Test
+  public void testSystemProperties() throws Exception {
+    Map<String,String> cfg = client.getSiteConfiguration(creds);
+
+    // set generic property
+    client.setProperty(creds, "general.custom.test.systemprop", "whistletips");
+    assertEquals(
+        proxyClient.proxy().getSystemConfiguration(creds).get("general.custom.test.systemprop"),
+        "whistletips");
+    client.removeProperty(creds, "general.custom.test.systemprop");
+    assertNull(client.getSystemConfiguration(creds).get("general.custom.test.systemprop"));
+
+    // set a property in zookeeper
+    client.setProperty(creds, "table.split.threshold", "500M");
+
+    // check that we can read it
+    for (int i = 0; i < 5; i++) {
+      cfg = client.getSystemConfiguration(creds);
+      if ("500M".equals(cfg.get("table.split.threshold")))
+        break;
+      sleepUninterruptibly(200, TimeUnit.MILLISECONDS);
+    }
+    assertEquals("500M", cfg.get("table.split.threshold"));
+
+    // unset the setting, check that it's not what it was
+    client.removeProperty(creds, "table.split.threshold");
+    for (int i = 0; i < 5; i++) {
+      cfg = client.getSystemConfiguration(creds);
+      if (!"500M".equals(cfg.get("table.split.threshold")))
+        break;
+      sleepUninterruptibly(200, TimeUnit.MILLISECONDS);
+    }
+    assertNotEquals("500M", cfg.get("table.split.threshold"));
+  }
+
+  @Test
+  public void pingTabletServers() throws Exception {
+    int tservers = 0;
+    for (String tserver : client.getTabletServers(creds)) {
+      client.pingTabletServer(creds, tserver);
+      tservers++;
+    }
+    assertTrue(tservers > 0);
+  }
+
+  @Test
+  public void testSiteConfiguration() throws Exception {
+    // get something we know is in the site config
+    MiniAccumuloClusterImpl cluster = SharedMiniClusterBase.getCluster();
+    Map<String,String> cfg = client.getSiteConfiguration(creds);
+    assertTrue(cfg.get("instance.dfs.dir")
+        .startsWith(cluster.getConfig().getAccumuloDir().getAbsolutePath()));
+  }
+
+  @Test
+  public void testClassLoad() throws Exception {
+    // try to load some classes via the proxy
+    assertTrue(client.testClassLoad(creds, DevNull.class.getName(),
+        SortedKeyValueIterator.class.getName()));
+    assertFalse(client.testClassLoad(creds, "foo.bar", SortedKeyValueIterator.class.getName()));
+  }
+
+  @Test
+  public void attachIteratorsWithScans() throws Exception {
+    if (client.tableExists(creds, "slow")) {
+      client.deleteTable(creds, "slow");
+    }
+
+    // create a table that's very slow, so we can look for scans
+    client.createTable(creds, "slow", true, TimeType.MILLIS);
+    IteratorSetting setting = new IteratorSetting(100, "slow", SlowIterator.class.getName(),
+        Collections.singletonMap("sleepTime", "250"));
+    client.attachIterator(creds, "slow", setting, EnumSet.allOf(IteratorScope.class));
+
+    // Should take 10 seconds to read every record
+    for (int i = 0; i < 40; i++) {
+      client.updateAndFlush(creds, "slow", mutation("row" + i, "cf", "cq", "value"));
+    }
+
+    // scan
+    Thread t = new Thread() {
+      @Override
+      public void run() {
+        String scanner;
+        TestProxyClient proxyClient2 = null;
+        try {
+          if (isKerberosEnabled()) {
+            UserGroupInformation.loginUserFromKeytab(clientPrincipal,
+                clientKeytab.getAbsolutePath());
+            proxyClient2 = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary,
+                UserGroupInformation.getCurrentUser());
+          } else {
+            proxyClient2 = new TestProxyClient(hostname, proxyPort, factory);
+          }
+
+          Client client2 = proxyClient2.proxy();
+          scanner = client2.createScanner(creds, "slow", null);
+          client2.nextK(scanner, 10);
+          client2.closeScanner(scanner);
+        } catch (Exception e) {
+          throw new RuntimeException(e);
+        } finally {
+          if (proxyClient2 != null) {
+            proxyClient2.close();
+          }
+        }
+      }
+    };
+    t.start();
+
+    // look for the scan many times
+    List<ActiveScan> scans = new ArrayList<>();
+    for (int i = 0; i < 100 && scans.isEmpty(); i++) {
+      for (String tserver : client.getTabletServers(creds)) {
+        List<ActiveScan> scansForServer = client.getActiveScans(creds, tserver);
+        for (ActiveScan scan : scansForServer) {
+          if (clientPrincipal.equals(scan.getUser())) {
+            scans.add(scan);
+          }
+        }
+
+        if (!scans.isEmpty())
+          break;
+        sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
+      }
+    }
+    t.join();
+
+    assertFalse("Expected to find scans, but found none", scans.isEmpty());
+    boolean found = false;
+    Map<String,String> map = null;
+    for (int i = 0; i < scans.size() && !found; i++) {
+      ActiveScan scan = scans.get(i);
+      if (clientPrincipal.equals(scan.getUser())) {
+        assertTrue(
+            ScanState.RUNNING.equals(scan.getState()) || ScanState.QUEUED.equals(scan.getState()));
+        assertEquals(ScanType.SINGLE, scan.getType());
+        assertEquals("slow", scan.getTable());
+
+        map = client.tableIdMap(creds);
+        assertEquals(map.get("slow"), scan.getExtent().tableId);
+        assertNull(scan.getExtent().endRow);
+        assertNull(scan.getExtent().prevEndRow);
+        found = true;
+      }
+    }
+
+    assertTrue("Could not find a scan against the 'slow' table", found);
+  }
+
+  @Test
+  public void attachIteratorWithCompactions() throws Exception {
+    if (client.tableExists(creds, "slow")) {
+      client.deleteTable(creds, "slow");
+    }
+
+    // create a table that's very slow, so we can look for compactions
+    client.createTable(creds, "slow", true, TimeType.MILLIS);
+    IteratorSetting setting = new IteratorSetting(100, "slow", SlowIterator.class.getName(),
+        Collections.singletonMap("sleepTime", "250"));
+    client.attachIterator(creds, "slow", setting, EnumSet.allOf(IteratorScope.class));
+
+    // Should take 10 seconds to read every record
+    for (int i = 0; i < 40; i++) {
+      client.updateAndFlush(creds, "slow", mutation("row" + i, "cf", "cq", "value"));
+    }
+
+    Map<String,String> map = client.tableIdMap(creds);
+
+    // start a compaction
+    Thread t = new Thread() {
+      @Override
+      public void run() {
+        TestProxyClient proxyClient2 = null;
+        try {
+          if (isKerberosEnabled()) {
+            UserGroupInformation.loginUserFromKeytab(clientPrincipal,
+                clientKeytab.getAbsolutePath());
+            proxyClient2 = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary,
+                UserGroupInformation.getCurrentUser());
+          } else {
+            proxyClient2 = new TestProxyClient(hostname, proxyPort, factory);
+          }
+          Client client2 = proxyClient2.proxy();
+          client2.compactTable(creds, "slow", null, null, null, true, true, null);
+        } catch (Exception e) {
+          throw new RuntimeException(e);
+        } finally {
+          if (proxyClient2 != null) {
+            proxyClient2.close();
+          }
+        }
+      }
+    };
+    t.start();
+
+    final String desiredTableId = map.get("slow");
+
+    // Make sure we can find the slow table
+    assertNotNull(desiredTableId);
+
+    // try to catch it in the act
+    List<ActiveCompaction> compactions = new ArrayList<>();
+    for (int i = 0; i < 100 && compactions.isEmpty(); i++) {
+      // Iterate over the tservers
+      for (String tserver : client.getTabletServers(creds)) {
+        // And get the compactions on each
+        List<ActiveCompaction> compactionsOnServer = client.getActiveCompactions(creds, tserver);
+        for (ActiveCompaction compact : compactionsOnServer) {
+          // There might be other compactions occurring (e.g. on METADATA) in which
+          // case we want to prune out those that aren't for our slow table
+          if (desiredTableId.equals(compact.getExtent().tableId)) {
+            compactions.add(compact);
+          }
+        }
+
+        // If we found a compaction for the table we wanted, so we can stop looking
+        if (!compactions.isEmpty())
+          break;
+      }
+      sleepUninterruptibly(10, TimeUnit.MILLISECONDS);
+    }
+    t.join();
+
+    // verify the compaction information
+    assertFalse(compactions.isEmpty());
+    for (ActiveCompaction c : compactions) {
+      if (desiredTableId.equals(c.getExtent().tableId)) {
+        assertTrue(c.inputFiles.isEmpty());
+        assertEquals(CompactionType.MINOR, c.getType());
+        assertEquals(CompactionReason.USER, c.getReason());
+        assertEquals("", c.localityGroup);
+        assertTrue(c.outputFile.contains("default_tablet"));
+
+        return;
+      }
+    }
+
+    fail("Expection to find running compaction for table 'slow' but did not find one");
+  }
+
+  @Test
+  public void userAuthentication() throws Exception {
+    if (isKerberosEnabled()) {
+      assertTrue(
+          client.authenticateUser(creds, clientPrincipal, Collections.<String,String> emptyMap()));
+      // Can't really authenticate "badly" at the application level w/ kerberos. It's going to fail
+      // to even set up
+      // an RPC
+    } else {
+      // check password
+      assertTrue(
+          client.authenticateUser(creds, "root", s2pp(SharedMiniClusterBase.getRootPassword())));
+      assertFalse(client.authenticateUser(creds, "root", s2pp("")));
+    }
+  }
+
+  @Test
+  public void userManagement() throws Exception {
+
+    String user;
+    ClusterUser otherClient = null;
+    ByteBuffer password = s2bb("password");
+    if (isKerberosEnabled()) {
+      otherClient = getKdc().getClientPrincipal(1);
+      user = otherClient.getPrincipal();
+    } else {
+      user = getUniqueNames(1)[0];
+    }
+
+    // create a user
+    client.createLocalUser(creds, user, password);
+    // change auths
+    Set<String> users = client.listLocalUsers(creds);
+    Set<String> expectedUsers = new HashSet<>(Arrays.asList(clientPrincipal, user));
+    assertTrue("Did not find all expected users: " + expectedUsers,
+        users.containsAll(expectedUsers));
+    HashSet<ByteBuffer> auths = new HashSet<>(Arrays.asList(s2bb("A"), s2bb("B")));
+    client.changeUserAuthorizations(creds, user, auths);
+    List<ByteBuffer> update = client.getUserAuthorizations(creds, user);
+    assertEquals(auths, new HashSet<>(update));
+
+    // change password
+    if (!isKerberosEnabled()) {
+      password = s2bb("");
+      client.changeLocalUserPassword(creds, user, password);
+      assertTrue(client.authenticateUser(creds, user, s2pp(ByteBufferUtil.toString(password))));
+    }
+
+    if (isKerberosEnabled()) {
+      UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+          otherClient.getKeytab().getAbsolutePath());
+      final UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
+      // Re-login in and make a new connection. Can't use the previous one
+
+      TestProxyClient otherProxyClient = null;
+      try {
+        otherProxyClient = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary, ugi);
+        otherProxyClient.proxy().login(user, Collections.<String,String> emptyMap());
+      } finally {
+        if (otherProxyClient != null) {
+          otherProxyClient.close();
+        }
+      }
+    } else {
+      // check login with new password
+      client.login(user, s2pp(ByteBufferUtil.toString(password)));
+    }
+  }
+
+  @Test
+  public void userPermissions() throws Exception {
+    String userName = getUniqueNames(1)[0];
+    ClusterUser otherClient = null;
+    ByteBuffer password = s2bb("password");
+    ByteBuffer user;
+
+    TestProxyClient origProxyClient = null;
+    Client origClient = null;
+    TestProxyClient userProxyClient = null;
+    Client userClient = null;
+
+    if (isKerberosEnabled()) {
+      otherClient = getKdc().getClientPrincipal(1);
+      userName = otherClient.getPrincipal();
+
+      UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+          otherClient.getKeytab().getAbsolutePath());
+      final UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
+      // Re-login in and make a new connection. Can't use the previous one
+
+      userProxyClient = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary, ugi);
+
+      origProxyClient = proxyClient;
+      origClient = client;
+      userClient = client = userProxyClient.proxy();
+
+      user = client.login(userName, Collections.<String,String> emptyMap());
+    } else {
+      userName = getUniqueNames(1)[0];
+      // create a user
+      client.createLocalUser(creds, userName, password);
+      user = client.login(userName, s2pp(ByteBufferUtil.toString(password)));
+    }
+
+    // check permission failure
+    try {
+      client.createTable(user, "fail", true, TimeType.MILLIS);
+      fail("should not create the table");
+    } catch (AccumuloSecurityException ex) {
+      if (isKerberosEnabled()) {
+        // Switch back to original client
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+      assertFalse(client.listTables(creds).contains("fail"));
+    }
+    // grant permissions and test
+    assertFalse(client.hasSystemPermission(creds, userName, SystemPermission.CREATE_TABLE));
+    client.grantSystemPermission(creds, userName, SystemPermission.CREATE_TABLE);
+    assertTrue(client.hasSystemPermission(creds, userName, SystemPermission.CREATE_TABLE));
+    if (isKerberosEnabled()) {
+      // Switch back to the extra user
+      UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+          otherClient.getKeytab().getAbsolutePath());
+      client = userClient;
+    }
+    client.createTable(user, "success", true, TimeType.MILLIS);
+    if (isKerberosEnabled()) {
+      // Switch back to original client
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      client = origClient;
+    }
+    assertTrue(client.listTables(creds).contains("success"));
+
+    // revoke permissions
+    client.revokeSystemPermission(creds, userName, SystemPermission.CREATE_TABLE);
+    assertFalse(client.hasSystemPermission(creds, userName, SystemPermission.CREATE_TABLE));
+    try {
+      if (isKerberosEnabled()) {
+        // Switch back to the extra user
+        UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+            otherClient.getKeytab().getAbsolutePath());
+        client = userClient;
+      }
+      client.createTable(user, "fail", true, TimeType.MILLIS);
+      fail("should not create the table");
+    } catch (AccumuloSecurityException ex) {
+      if (isKerberosEnabled()) {
+        // Switch back to original client
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+      assertFalse(client.listTables(creds).contains("fail"));
+    }
+    // denied!
+    try {
+      if (isKerberosEnabled()) {
+        // Switch back to the extra user
+        UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+            otherClient.getKeytab().getAbsolutePath());
+        client = userClient;
+      }
+      String scanner = client.createScanner(user, tableName, null);
+      client.nextK(scanner, 100);
+      fail("stooge should not read table test");
+    } catch (AccumuloSecurityException ex) {}
+
+    if (isKerberosEnabled()) {
+      // Switch back to original client
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      client = origClient;
+    }
+
+    // grant
+    assertFalse(client.hasTablePermission(creds, userName, tableName, TablePermission.READ));
+    client.grantTablePermission(creds, userName, tableName, TablePermission.READ);
+    assertTrue(client.hasTablePermission(creds, userName, tableName, TablePermission.READ));
+
+    if (isKerberosEnabled()) {
+      // Switch back to the extra user
+      UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+          otherClient.getKeytab().getAbsolutePath());
+      client = userClient;
+    }
+    String scanner = client.createScanner(user, tableName, null);
+    client.nextK(scanner, 10);
+    client.closeScanner(scanner);
+
+    if (isKerberosEnabled()) {
+      // Switch back to original client
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      client = origClient;
+    }
+
+    // revoke
+    client.revokeTablePermission(creds, userName, tableName, TablePermission.READ);
+    assertFalse(client.hasTablePermission(creds, userName, tableName, TablePermission.READ));
+    try {
+      if (isKerberosEnabled()) {
+        // Switch back to the extra user
+        UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+            otherClient.getKeytab().getAbsolutePath());
+        client = userClient;
+      }
+      scanner = client.createScanner(user, tableName, null);
+      client.nextK(scanner, 100);
+      fail("stooge should not read table test");
+    } catch (AccumuloSecurityException ex) {}
+
+    if (isKerberosEnabled()) {
+      // Switch back to original client
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      client = origClient;
+    }
+
+    // delete user
+    client.dropLocalUser(creds, userName);
+    Set<String> users = client.listLocalUsers(creds);
+    assertFalse("Should not see user after they are deleted", users.contains(userName));
+
+    if (isKerberosEnabled()) {
+      userProxyClient.close();
+      proxyClient = origProxyClient;
+      client = origClient;
+    }
+  }
+
+  @Test
+  public void namespacePermissions() throws Exception {
+    String userName;
+    ClusterUser otherClient = null;
+    ByteBuffer password = s2bb("password");
+    ByteBuffer user;
+
+    TestProxyClient origProxyClient = null;
+    Client origClient = null;
+    TestProxyClient userProxyClient = null;
+    Client userClient = null;
+
+    if (isKerberosEnabled()) {
+      otherClient = getKdc().getClientPrincipal(1);
+      userName = otherClient.getPrincipal();
+
+      UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+          otherClient.getKeytab().getAbsolutePath());
+      final UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
+      // Re-login in and make a new connection. Can't use the previous one
+
+      userProxyClient = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary, ugi);
+
+      origProxyClient = proxyClient;
+      origClient = client;
+      userClient = client = userProxyClient.proxy();
+
+      user = client.login(userName, Collections.<String,String> emptyMap());
+    } else {
+      userName = getUniqueNames(1)[0];
+      // create a user
+      client.createLocalUser(creds, userName, password);
+      user = client.login(userName, s2pp(ByteBufferUtil.toString(password)));
+    }
+
+    // check permission failure
+    try {
+      client.createTable(user, namespaceName + ".fail", true, TimeType.MILLIS);
+      fail("should not create the table");
+    } catch (AccumuloSecurityException ex) {
+      if (isKerberosEnabled()) {
+        // Switch back to original client
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+      assertFalse(client.listTables(creds).contains(namespaceName + ".fail"));
+    }
+
+    // grant permissions and test
+    assertFalse(client.hasNamespacePermission(creds, userName, namespaceName,
+        NamespacePermission.CREATE_TABLE));
+    client.grantNamespacePermission(creds, userName, namespaceName,
+        NamespacePermission.CREATE_TABLE);
+    assertTrue(client.hasNamespacePermission(creds, userName, namespaceName,
+        NamespacePermission.CREATE_TABLE));
+    if (isKerberosEnabled()) {
+      // Switch back to the extra user
+      UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+          otherClient.getKeytab().getAbsolutePath());
+      client = userClient;
+    }
+    client.createTable(user, namespaceName + ".success", true, TimeType.MILLIS);
+    if (isKerberosEnabled()) {
+      // Switch back to original client
+      UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+      client = origClient;
+    }
+    assertTrue(client.listTables(creds).contains(namespaceName + ".success"));
+
+    // revoke permissions
+    client.revokeNamespacePermission(creds, userName, namespaceName,
+        NamespacePermission.CREATE_TABLE);
+    assertFalse(client.hasNamespacePermission(creds, userName, namespaceName,
+        NamespacePermission.CREATE_TABLE));
+    try {
+      if (isKerberosEnabled()) {
+        // Switch back to the extra user
+        UserGroupInformation.loginUserFromKeytab(otherClient.getPrincipal(),
+            otherClient.getKeytab().getAbsolutePath());
+        client = userClient;
+      }
+      client.createTable(user, namespaceName + ".fail", true, TimeType.MILLIS);
+      fail("should not create the table");
+    } catch (AccumuloSecurityException ex) {
+      if (isKerberosEnabled()) {
+        // Switch back to original client
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+      assertFalse(client.listTables(creds).contains(namespaceName + ".fail"));
+    }
+
+    // delete user
+    client.dropLocalUser(creds, userName);
+    Set<String> users = client.listLocalUsers(creds);
+    assertFalse("Should not see user after they are deleted", users.contains(userName));
+
+    if (isKerberosEnabled()) {
+      userProxyClient.close();
+      proxyClient = origProxyClient;
+      client = origClient;
+    }
+
+    // delete table from namespace otherwise we can't delete namespace during teardown
+    client.deleteTable(creds, namespaceName + ".success");
+  }
+
+  @Test
+  public void testBatchWriter() throws Exception {
+    client.addConstraint(creds, tableName, NumericValueConstraint.class.getName());
+    // zookeeper propagation time
+    sleepUninterruptibly(ZOOKEEPER_PROPAGATION_TIME, TimeUnit.MILLISECONDS);
+
+    // Take the table offline and online to force a config update
+    client.offlineTable(creds, tableName, true);
+    client.onlineTable(creds, tableName, true);
+
+    WriterOptions writerOptions = new WriterOptions();
+    writerOptions.setLatencyMs(10000);
+    writerOptions.setMaxMemory(2);
+    writerOptions.setThreads(1);
+    writerOptions.setTimeoutMs(100000);
+
+    Map<String,Integer> constraints = client.listConstraints(creds, tableName);
+    while (!constraints.containsKey(NumericValueConstraint.class.getName())) {
+      log.info("Constraints don't contain NumericValueConstraint");
+      Thread.sleep(2000);
+      constraints = client.listConstraints(creds, tableName);
+    }
+
+    boolean success = false;
+    for (int i = 0; i < 15; i++) {
+      String batchWriter = client.createWriter(creds, tableName, writerOptions);
+      client.update(batchWriter, mutation("row1", "cf", "cq", "x"));
+      client.update(batchWriter, mutation("row1", "cf", "cq", "x"));
+      try {
+        client.flush(batchWriter);
+        log.debug("Constraint failed to fire. Waiting and retrying");
+        Thread.sleep(5000);
+        continue;
+      } catch (MutationsRejectedException ex) {}
+      try {
+        client.closeWriter(batchWriter);
+        log.debug("Constraint failed to fire. Waiting and retrying");
+        Thread.sleep(5000);
+        continue;
+      } catch (MutationsRejectedException e) {}
+      success = true;
+      break;
+    }
+
+    if (!success) {
+      fail("constraint did not fire");
+    }
+
+    client.removeConstraint(creds, tableName, 2);
+
+    // Take the table offline and online to force a config update
+    client.offlineTable(creds, tableName, true);
+    client.onlineTable(creds, tableName, true);
+
+    constraints = client.listConstraints(creds, tableName);
+    while (constraints.containsKey(NumericValueConstraint.class.getName())) {
+      log.info("Constraints still contains NumericValueConstraint");
+      Thread.sleep(2000);
+      constraints = client.listConstraints(creds, tableName);
+    }
+
+    assertScan(new String[][] {}, tableName);
+
+    sleepUninterruptibly(ZOOKEEPER_PROPAGATION_TIME, TimeUnit.MILLISECONDS);
+
+    writerOptions = new WriterOptions();
+    writerOptions.setLatencyMs(10000);
+    writerOptions.setMaxMemory(3000);
+    writerOptions.setThreads(1);
+    writerOptions.setTimeoutMs(100000);
+
+    success = false;
+    for (int i = 0; i < 15; i++) {
+      try {
+        String batchWriter = client.createWriter(creds, tableName, writerOptions);
+
+        client.update(batchWriter, mutation("row1", "cf", "cq", "x"));
+        client.flush(batchWriter);
+        client.closeWriter(batchWriter);
+        success = true;
+        break;
+      } catch (MutationsRejectedException e) {
+        log.info("Mutations were rejected, assuming constraint is still active", e);
+        Thread.sleep(5000);
+      }
+    }
+
+    if (!success) {
+      fail("Failed to successfully write data after constraint was removed");
+    }
+
+    assertScan(new String[][] {{"row1", "cf", "cq", "x"}}, tableName);
+
+    client.deleteTable(creds, tableName);
+  }
+
+  @Test
+  public void testTableConstraints() throws Exception {
+    log.debug("Setting NumericValueConstraint on " + tableName);
+
+    // constraints
+    client.addConstraint(creds, tableName, NumericValueConstraint.class.getName());
+
+    // zookeeper propagation time
+    Thread.sleep(ZOOKEEPER_PROPAGATION_TIME);
+
+    // Take the table offline and online to force a config update
+    client.offlineTable(creds, tableName, true);
+    client.onlineTable(creds, tableName, true);
+
+    log.debug("Attempting to verify client-side that constraints are observed");
+
+    Map<String,Integer> constraints = client.listConstraints(creds, tableName);
+    while (!constraints.containsKey(NumericValueConstraint.class.getName())) {
+      log.debug("Constraints don't contain NumericValueConstraint");
+      Thread.sleep(2000);
+      constraints = client.listConstraints(creds, tableName);
+    }
+
+    assertEquals(2, client.listConstraints(creds, tableName).size());
+    log.debug("Verified client-side that constraints exist");
+
+    // Write data that satisfies the constraint
+    client.updateAndFlush(creds, tableName, mutation("row1", "cf", "cq", "123"));
+
+    log.debug("Successfully wrote data that satisfies the constraint");
+    log.debug("Trying to write data that the constraint should reject");
+
+    // Expect failure on data that fails the constraint
+    while (true) {
+      try {
+        client.updateAndFlush(creds, tableName, mutation("row1", "cf", "cq", "x"));
+        log.debug("Expected mutation to be rejected, but was not. Waiting and retrying");
+        Thread.sleep(5000);
+      } catch (MutationsRejectedException ex) {
+        break;
+      }
+    }
+
+    log.debug("Saw expected failure on data which fails the constraint");
+
+    log.debug("Removing constraint from table");
+    client.removeConstraint(creds, tableName, 2);
+
+    sleepUninterruptibly(ZOOKEEPER_PROPAGATION_TIME, TimeUnit.MILLISECONDS);
+
+    // Take the table offline and online to force a config update
+    client.offlineTable(creds, tableName, true);
+    client.onlineTable(creds, tableName, true);
+
+    constraints = client.listConstraints(creds, tableName);
+    while (constraints.containsKey(NumericValueConstraint.class.getName())) {
+      log.debug("Constraints contains NumericValueConstraint");
+      Thread.sleep(2000);
+      constraints = client.listConstraints(creds, tableName);
+    }
+
+    assertEquals(1, client.listConstraints(creds, tableName).size());
+    log.debug("Verified client-side that the constraint was removed");
+
+    log.debug("Attempting to write mutation that should succeed after constraints was removed");
+    // Make sure we can write the data after we removed the constraint
+    while (true) {
+      try {
+        client.updateAndFlush(creds, tableName, mutation("row1", "cf", "cq", "x"));
+        break;
+      } catch (MutationsRejectedException ex) {
+        log.debug("Expected mutation accepted, but was not. Waiting and retrying");
+        Thread.sleep(5000);
+      }
+    }
+
+    log.debug("Verifying that record can be read from the table");
+    assertScan(new String[][] {{"row1", "cf", "cq", "x"}}, tableName);
+  }
+
+  @Test
+  public void tableMergesAndSplits() throws Exception {
+    // add some splits
+    client.addSplits(creds, tableName,
+        new HashSet<>(Arrays.asList(s2bb("a"), s2bb("m"), s2bb("z"))));
+    List<ByteBuffer> splits = client.listSplits(creds, tableName, 1);
+    assertEquals(Arrays.asList(s2bb("m")), splits);
+
+    // Merge some of the splits away
+    client.mergeTablets(creds, tableName, null, s2bb("m"));
+    splits = client.listSplits(creds, tableName, 10);
+    assertEquals(Arrays.asList(s2bb("m"), s2bb("z")), splits);
+
+    // Merge the entire table
+    client.mergeTablets(creds, tableName, null, null);
+    splits = client.listSplits(creds, tableName, 10);
+    List<ByteBuffer> empty = Collections.emptyList();
+
+    // No splits after merge on whole table
+    assertEquals(empty, splits);
+  }
+
+  @Test
+  public void iteratorFunctionality() throws Exception {
+    // iterators
+    HashMap<String,String> options = new HashMap<>();
+    options.put("type", "STRING");
+    options.put("columns", "cf");
+    IteratorSetting setting = new IteratorSetting(10, tableName, SummingCombiner.class.getName(),
+        options);
+    client.attachIterator(creds, tableName, setting, EnumSet.allOf(IteratorScope.class));
+    for (int i = 0; i < 10; i++) {
+      client.updateAndFlush(creds, tableName, mutation("row1", "cf", "cq", "1"));
+    }
+    // 10 updates of "1" in the value w/ SummingCombiner should return value of "10"
+    assertScan(new String[][] {{"row1", "cf", "cq", "10"}}, tableName);
+
+    try {
+      client.checkIteratorConflicts(creds, tableName, setting, EnumSet.allOf(IteratorScope.class));
+      fail("checkIteratorConflicts did not throw an exception");
+    } catch (Exception ex) {
+      // Expected
+    }
+    client.deleteRows(creds, tableName, null, null);
+    client.removeIterator(creds, tableName, "test", EnumSet.allOf(IteratorScope.class));
+    String[][] expected = new String[10][];
+    for (int i = 0; i < 10; i++) {
+      client.updateAndFlush(creds, tableName, mutation("row" + i, "cf", "cq", "" + i));
+      expected[i] = new String[] {"row" + i, "cf", "cq", "" + i};
+      client.flushTable(creds, tableName, null, null, true);
+    }
+    assertScan(expected, tableName);
+  }
+
+  @Test
+  public void cloneTable() throws Exception {
+    String TABLE_TEST2 = getUniqueNames(2)[1];
+
+    String[][] expected = new String[10][];
+    for (int i = 0; i < 10; i++) {
+      client.updateAndFlush(creds, tableName, mutation("row" + i, "cf", "cq", "" + i));
+      expected[i] = new String[] {"row" + i, "cf", "cq", "" + i};
+      client.flushTable(creds, tableName, null, null, true);
+    }
+    assertScan(expected, tableName);
+
+    // clone
+    client.cloneTable(creds, tableName, TABLE_TEST2, true, null, null);
+    assertScan(expected, TABLE_TEST2);
+    client.deleteTable(creds, TABLE_TEST2);
+  }
+
+  @Test
+  public void clearLocatorCache() throws Exception {
+    // don't know how to test this, call it just for fun
+    client.clearLocatorCache(creds, tableName);
+  }
+
+  @Test
+  public void compactTable() throws Exception {
+    String[][] expected = new String[10][];
+    for (int i = 0; i < 10; i++) {
+      client.updateAndFlush(creds, tableName, mutation("row" + i, "cf", "cq", "" + i));
+      expected[i] = new String[] {"row" + i, "cf", "cq", "" + i};
+      client.flushTable(creds, tableName, null, null, true);
+    }
+    assertScan(expected, tableName);
+
+    // compact
+    client.compactTable(creds, tableName, null, null, null, true, true, null);
+    assertEquals(1, countFiles(tableName));
+    assertScan(expected, tableName);
+  }
+
+  @Test
+  public void diskUsage() throws Exception {
+    String TABLE_TEST2 = getUniqueNames(2)[1];
+
+    // Write some data
+    String[][] expected = new String[10][];
+    for (int i = 0; i < 10; i++) {
+      client.updateAndFlush(creds, tableName, mutation("row" + i, "cf", "cq", "" + i));
+      expected[i] = new String[] {"row" + i, "cf", "cq", "" + i};
+      client.flushTable(creds, tableName, null, null, true);
+    }
+    assertScan(expected, tableName);
+
+    // compact
+    client.compactTable(creds, tableName, null, null, null, true, true, null);
+    assertEquals(1, countFiles(tableName));
+    assertScan(expected, tableName);
+
+    // Clone the table
+    client.cloneTable(creds, tableName, TABLE_TEST2, true, null, null);
+    Set<String> tablesToScan = new HashSet<>();
+    tablesToScan.add(tableName);
+    tablesToScan.add(TABLE_TEST2);
+    tablesToScan.add("foo");
+
+    client.createTable(creds, "foo", true, TimeType.MILLIS);
+
+    // get disk usage
+    List<DiskUsage> diskUsage = (client.getDiskUsage(creds, tablesToScan));
+    assertEquals(2, diskUsage.size());
+    // The original table and the clone are lumped together (they share the same files)
+    assertEquals(2, diskUsage.get(0).getTables().size());
+    // The empty table we created
+    assertEquals(1, diskUsage.get(1).getTables().size());
+
+    // Compact the clone so it writes its own files instead of referring to the original
+    client.compactTable(creds, TABLE_TEST2, null, null, null, true, true, null);
+
+    diskUsage = (client.getDiskUsage(creds, tablesToScan));
+    assertEquals(3, diskUsage.size());
+    // The original
+    assertEquals(1, diskUsage.get(0).getTables().size());
+    // The clone w/ its own files now
+    assertEquals(1, diskUsage.get(1).getTables().size());
+    // The empty table
+    assertEquals(1, diskUsage.get(2).getTables().size());
+    client.deleteTable(creds, "foo");
+    client.deleteTable(creds, TABLE_TEST2);
+  }
+
+  @Test
+  public void importExportTable() throws Exception {
+    // Write some data
+    String[][] expected = new String[10][];
+    for (int i = 0; i < 10; i++) {
+      client.updateAndFlush(creds, tableName, mutation("row" + i, "cf", "cq", "" + i));
+      expected[i] = new String[] {"row" + i, "cf", "cq", "" + i};
+      client.flushTable(creds, tableName, null, null, true);
+    }
+    assertScan(expected, tableName);
+
+    // export/import
+    MiniAccumuloClusterImpl cluster = SharedMiniClusterBase.getCluster();
+    FileSystem fs = cluster.getFileSystem();
+    Path base = cluster.getTemporaryPath();
+    Path dir = new Path(base, "test");
+    assertTrue(fs.mkdirs(dir));
+    Path destDir = new Path(base, "test_dest");
+    assertTrue(fs.mkdirs(destDir));
+    client.offlineTable(creds, tableName, false);
+    client.exportTable(creds, tableName, dir.toString());
+    // copy files to a new location
+    FSDataInputStream is = fs.open(new Path(dir, "distcp.txt"));
+    try (BufferedReader r = new BufferedReader(new InputStreamReader(is, UTF_8))) {
+      while (true) {
+        String line = r.readLine();
+        if (line == null)
+          break;
+        Path srcPath = new Path(line);
+        FileUtil.copy(fs, srcPath, fs, destDir, false, fs.getConf());
+      }
+    }
+    client.deleteTable(creds, tableName);
+    client.importTable(creds, "testify", destDir.toString());
+    assertScan(expected, "testify");
+    client.deleteTable(creds, "testify");
+
+    try {
+      // ACCUMULO-1558 a second import from the same dir should fail, the first import moved the
+      // files
+      client.importTable(creds, "testify2", destDir.toString());
+      fail();
+    } catch (Exception e) {}
+
+    assertFalse(client.listTables(creds).contains("testify2"));
+  }
+
+  @Test
+  public void localityGroups() throws Exception {
+    Map<String,Set<String>> groups = new HashMap<>();
+    groups.put("group1", Collections.singleton("cf1"));
+    groups.put("group2", Collections.singleton("cf2"));
+    client.setLocalityGroups(creds, tableName, groups);
+    assertEquals(groups, client.getLocalityGroups(creds, tableName));
+  }
+
+  @Test
+  public void tableProperties() throws Exception {
+    Map<String,String> systemProps = client.getSystemConfiguration(creds);
+    String systemTableSplitThreshold = systemProps.get("table.split.threshold");
+
+    Map<String,String> orig = client.getTableProperties(creds, tableName);
+    client.setTableProperty(creds, tableName, "table.split.threshold", "500M");
+
+    // Get the new table property value
+    Map<String,String> update = client.getTableProperties(creds, tableName);
+    assertEquals(update.get("table.split.threshold"), "500M");
+
+    // Table level properties shouldn't affect system level values
+    assertEquals(systemTableSplitThreshold,
+        client.getSystemConfiguration(creds).get("table.split.threshold"));
+
+    client.removeTableProperty(creds, tableName, "table.split.threshold");
+    update = client.getTableProperties(creds, tableName);
+    assertEquals(orig, update);
+  }
+
+  @Test
+  public void tableRenames() throws Exception {
+    // rename table
+    Map<String,String> tables = client.tableIdMap(creds);
+    client.renameTable(creds, tableName, "bar");
+    Map<String,String> tables2 = client.tableIdMap(creds);
+    assertEquals(tables.get(tableName), tables2.get("bar"));
+    // table exists
+    assertTrue(client.tableExists(creds, "bar"));
+    assertFalse(client.tableExists(creds, tableName));
+    client.renameTable(creds, "bar", tableName);
+  }
+
+  @Test
+  public void bulkImport() throws Exception {
+    MiniAccumuloClusterImpl cluster = SharedMiniClusterBase.getCluster();
+    FileSystem fs = cluster.getFileSystem();
+    Path base = cluster.getTemporaryPath();
+    Path dir = new Path(base, "test");
+    assertTrue(fs.mkdirs(dir));
+
+    // Write an RFile
+    String filename = dir + "/bulk/import/rfile.rf";
+    FileSKVWriter writer = FileOperations.getInstance().newWriterBuilder()
+        .forFile(filename, fs, fs.getConf(), CryptoServiceFactory.newDefaultInstance())
+        .withTableConfiguration(DefaultConfiguration.getInstance()).build();
+    writer.startDefaultLocalityGroup();
+    writer.append(
+        new org.apache.accumulo.core.data.Key(new Text("a"), new Text("b"), new Text("c")),
+        new Value("value".getBytes(UTF_8)));
+    writer.close();
+
+    // Create failures directory
+    fs.mkdirs(new Path(dir + "/bulk/fail"));
+
+    // Run the bulk import
+    client.importDirectory(creds, tableName, dir + "/bulk/import", dir + "/bulk/fail", true);
+
+    // Make sure we find the data
+    String scanner = client.createScanner(creds, tableName, null);
+    ScanResult more = client.nextK(scanner, 100);
+    client.closeScanner(scanner);
+    assertEquals(1, more.results.size());
+    ByteBuffer maxRow = client.getMaxRow(creds, tableName, null, null, false, null, false);
+    assertEquals(s2bb("a"), maxRow);
+  }
+
+  @Test
+  public void testTableClassLoad() throws Exception {
+    assertFalse(client.testTableClassLoad(creds, tableName, "abc123",
+        SortedKeyValueIterator.class.getName()));
+    assertTrue(client.testTableClassLoad(creds, tableName, VersioningIterator.class.getName(),
+        SortedKeyValueIterator.class.getName()));
+  }
+
+  private Condition newCondition(String cf, String cq) {
+    return new Condition(new Column(s2bb(cf), s2bb(cq), s2bb("")));
+  }
+
+  private Condition newCondition(String cf, String cq, String val) {
+    return newCondition(cf, cq).setValue(s2bb(val));
+  }
+
+  private Condition newCondition(String cf, String cq, long ts, String val) {
+    return newCondition(cf, cq).setValue(s2bb(val)).setTimestamp(ts);
+  }
+
+  private ColumnUpdate newColUpdate(String cf, String cq, String val) {
+    return new ColumnUpdate(s2bb(cf), s2bb(cq)).setValue(s2bb(val));
+  }
+
+  private ColumnUpdate newColUpdate(String cf, String cq, long ts, String val) {
+    return new ColumnUpdate(s2bb(cf), s2bb(cq)).setTimestamp(ts).setValue(s2bb(val));
+  }
+
+  private void assertScan(String[][] expected, String table) throws Exception {
+    String scid = client.createScanner(creds, table, new ScanOptions());
+    ScanResult keyValues = client.nextK(scid, expected.length + 1);
+
+    assertEquals("Saw " + keyValues.results, expected.length, keyValues.results.size());
+    assertFalse(keyValues.more);
+
+    for (int i = 0; i < keyValues.results.size(); i++) {
+      checkKey(expected[i][0], expected[i][1], expected[i][2], expected[i][3],
+          keyValues.results.get(i));
+    }
+
+    client.closeScanner(scid);
+  }
+
+  @Test
+  public void testConditionalWriter() throws Exception {
+    log.debug("Adding constraint {} to {}", tableName, NumericValueConstraint.class.getName());
+    client.addConstraint(creds, tableName, NumericValueConstraint.class.getName());
+    sleepUninterruptibly(ZOOKEEPER_PROPAGATION_TIME, TimeUnit.MILLISECONDS);
+
+    // Take the table offline and online to force a config update
+    client.offlineTable(creds, tableName, true);
+    client.onlineTable(creds, tableName, true);
+
+    while (!client.listConstraints(creds, tableName)
+        .containsKey(NumericValueConstraint.class.getName())) {
+      log.info("Failed to see constraint");
+      Thread.sleep(1000);
+    }
+
+    String cwid = client.createConditionalWriter(creds, tableName, new ConditionalWriterOptions());
+
+    Map<ByteBuffer,ConditionalUpdates> updates = new HashMap<>();
+
+    updates.put(s2bb("00345"),
+        new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq")), Arrays.asList(
+            newColUpdate("meta", "seq", 10, "1"), newColUpdate("data", "img", "73435435"))));
+
+    Map<ByteBuffer,ConditionalStatus> results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00345")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "73435435"}, {"00345", "meta", "seq", "1"}},
+        tableName);
+
+    // test not setting values on conditions
+    updates.clear();
+
+    updates.put(s2bb("00345"), new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq")),
+        Arrays.asList(newColUpdate("meta", "seq", "2"))));
+    updates.put(s2bb("00346"), new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq")),
+        Arrays.asList(newColUpdate("meta", "seq", "1"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(2, results.size());
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00345")));
+    assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00346")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "73435435"}, {"00345", "meta", "seq", "1"},
+        {"00346", "meta", "seq", "1"}}, tableName);
+
+    // test setting values on conditions
+    updates.clear();
+
+    updates.put(s2bb("00345"),
+        new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq", "1")), Arrays
+            .asList(newColUpdate("meta", "seq", 20, "2"), newColUpdate("data", "img", "567890"))));
+
+    updates.put(s2bb("00346"),
+        new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq", "2")),
+            Arrays.asList(newColUpdate("meta", "seq", "3"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(2, results.size());
+    assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00345")));
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00346")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "567890"}, {"00345", "meta", "seq", "2"},
+        {"00346", "meta", "seq", "1"}}, tableName);
+
+    // test setting timestamp on condition to a nonexistent version
+    updates.clear();
+
+    updates.put(s2bb("00345"),
+        new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq", 10, "2")), Arrays.asList(
+            newColUpdate("meta", "seq", 30, "3"), newColUpdate("data", "img", "1234567890"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00345")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "567890"}, {"00345", "meta", "seq", "2"},
+        {"00346", "meta", "seq", "1"}}, tableName);
+
+    // test setting timestamp to an existing version
+
+    updates.clear();
+
+    updates.put(s2bb("00345"),
+        new ConditionalUpdates(Arrays.asList(newCondition("meta", "seq", 20, "2")), Arrays.asList(
+            newColUpdate("meta", "seq", 30, "3"), newColUpdate("data", "img", "1234567890"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00345")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"}}, tableName);
+
+    // run test w/ condition that has iterators
+    // following should fail w/o iterator
+    client.updateAndFlush(creds, tableName,
+        Collections.singletonMap(s2bb("00347"), Arrays.asList(newColUpdate("data", "count", "1"))));
+    client.updateAndFlush(creds, tableName,
+        Collections.singletonMap(s2bb("00347"), Arrays.asList(newColUpdate("data", "count", "1"))));
+    client.updateAndFlush(creds, tableName,
+        Collections.singletonMap(s2bb("00347"), Arrays.asList(newColUpdate("data", "count", "1"))));
+
+    updates.clear();
+    updates.put(s2bb("00347"),
+        new ConditionalUpdates(Arrays.asList(newCondition("data", "count", "3")),
+            Arrays.asList(newColUpdate("data", "img", "1234567890"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00347")));
+
+    assertScan(
+        new String[][] {{"00345", "data", "img", "1234567890"}, {"00345", "meta", "seq", "3"},
+            {"00346", "meta", "seq", "1"}, {"00347", "data", "count", "1"}},
+        tableName);
+
+    // following test w/ iterator setup should succeed
+    Condition iterCond = newCondition("data", "count", "3");
+    Map<String,String> props = new HashMap<>();
+    props.put("type", "STRING");
+    props.put("columns", "data:count");
+    IteratorSetting is = new IteratorSetting(1, "sumc", SummingCombiner.class.getName(), props);
+    iterCond.setIterators(Arrays.asList(is));
+
+    updates.clear();
+    updates.put(s2bb("00347"), new ConditionalUpdates(Arrays.asList(iterCond),
+        Arrays.asList(newColUpdate("data", "img", "1234567890"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00347")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"},
+        {"00347", "data", "count", "1"}, {"00347", "data", "img", "1234567890"}}, tableName);
+
+    ConditionalStatus status = null;
+    for (int i = 0; i < 30; i++) {
+      // test a mutation that violated a constraint
+      updates.clear();
+      updates.put(s2bb("00347"),
+          new ConditionalUpdates(Arrays.asList(newCondition("data", "img", "1234567890")),
+              Arrays.asList(newColUpdate("data", "count", "A"))));
+
+      results = client.updateRowsConditionally(cwid, updates);
+
+      assertEquals(1, results.size());
+      status = results.get(s2bb("00347"));
+      if (status != ConditionalStatus.VIOLATED) {
+        log.info("ConditionalUpdate was not rejected by server due to table"
+            + " constraint. Sleeping and retrying");
+        Thread.sleep(5000);
+        continue;
+      }
+
+      assertEquals(ConditionalStatus.VIOLATED, status);
+      break;
+    }
+
+    // Final check to make sure we succeeded and didn't exceed the retries
+    assertEquals(ConditionalStatus.VIOLATED, status);
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"},
+        {"00347", "data", "count", "1"}, {"00347", "data", "img", "1234567890"}}, tableName);
+
+    // run test with two conditions
+    // both conditions should fail
+    updates.clear();
+    updates.put(s2bb("00347"),
+        new ConditionalUpdates(
+            Arrays.asList(newCondition("data", "img", "565"), newCondition("data", "count", "2")),
+            Arrays.asList(newColUpdate("data", "count", "3"),
+                newColUpdate("data", "img", "0987654321"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00347")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"},
+        {"00347", "data", "count", "1"}, {"00347", "data", "img", "1234567890"}}, tableName);
+
+    // one condition should fail
+    updates.clear();
+    updates.put(s2bb("00347"),
+        new ConditionalUpdates(
+            Arrays.asList(newCondition("data", "img", "1234567890"),
+                newCondition("data", "count", "2")),
+            Arrays.asList(newColUpdate("data", "count", "3"),
+                newColUpdate("data", "img", "0987654321"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00347")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"},
+        {"00347", "data", "count", "1"}, {"00347", "data", "img", "1234567890"}}, tableName);
+
+    // one condition should fail
+    updates.clear();
+    updates.put(s2bb("00347"),
+        new ConditionalUpdates(
+            Arrays.asList(newCondition("data", "img", "565"), newCondition("data", "count", "1")),
+            Arrays.asList(newColUpdate("data", "count", "3"),
+                newColUpdate("data", "img", "0987654321"))));
+
+    results = client.updateRowsConditionally(cwid, updates);
+
+    assertEquals(1, results.size());
+    assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00347")));
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"},
+        {"00347", "data", "count", "1"}, {"00347", "data", "img", "1234567890"}}, tableName);
+
+    // both conditions should succeed
+
+    ConditionalStatus result = client.updateRowConditionally(creds, tableName, s2bb("00347"),
+        new ConditionalUpdates(
+            Arrays.asList(newCondition("data", "img", "1234567890"),
+                newCondition("data", "count", "1")),
+            Arrays.asList(newColUpdate("data", "count", "3"),
+                newColUpdate("data", "img", "0987654321"))));
+
+    assertEquals(ConditionalStatus.ACCEPTED, result);
+
+    assertScan(new String[][] {{"00345", "data", "img", "1234567890"},
+        {"00345", "meta", "seq", "3"}, {"00346", "meta", "seq", "1"},
+        {"00347", "data", "count", "3"}, {"00347", "data", "img", "0987654321"}}, tableName);
+
+    client.closeConditionalWriter(cwid);
+    try {
+      client.updateRowsConditionally(cwid, updates);
+      fail("conditional writer not closed");
+    } catch (UnknownWriter uk) {}
+
+    String principal;
+    ClusterUser cwuser = null;
+    if (isKerberosEnabled()) {
+      cwuser = getKdc().getClientPrincipal(1);
+      principal = cwuser.getPrincipal();
+      client.createLocalUser(creds, principal, s2bb("unused"));
+
+    } else {
+      principal = "cwuser";
+      // run test with colvis
+      client.createLocalUser(creds, principal, s2bb("bestpasswordever"));
+    }
+
+    client.changeUserAuthorizations(creds, principal, Collections.singleton(s2bb("A")));
+    client.grantTablePermission(creds, principal, tableName, TablePermission.WRITE);
+    client.grantTablePermission(creds, principal, tableName, TablePermission.READ);
+
+    TestProxyClient cwuserProxyClient = null;
+    Client origClient = null;
+    Map<String,String> cwProperties;
+    if (isKerberosEnabled()) {
+      UserGroupInformation.loginUserFromKeytab(cwuser.getPrincipal(),
+          cwuser.getKeytab().getAbsolutePath());
+      final UserGroupInformation cwuserUgi = UserGroupInformation.getCurrentUser();
+      // Re-login in and make a new connection. Can't use the previous one
+      cwuserProxyClient = new TestProxyClient(hostname, proxyPort, factory, proxyPrimary,
+          cwuserUgi);
+      origClient = client;
+      client = cwuserProxyClient.proxy();
+      cwProperties = Collections.emptyMap();
+    } else {
+      cwProperties = Collections.singletonMap("password", "bestpasswordever");
+    }
+
+    try {
+      ByteBuffer cwCreds = client.login(principal, cwProperties);
+
+      cwid = client.createConditionalWriter(cwCreds, tableName,
+          new ConditionalWriterOptions().setAuthorizations(Collections.singleton(s2bb("A"))));
+
+      updates.clear();
+      updates.put(s2bb("00348"),
+          new ConditionalUpdates(
+              Arrays.asList(new Condition(new Column(s2bb("data"), s2bb("c"), s2bb("A")))),
+              Arrays.asList(newColUpdate("data", "seq", "1"),
+                  newColUpdate("data", "c", "1").setColVisibility(s2bb("A")))));
+      updates.put(s2bb("00349"),
+          new ConditionalUpdates(
+              Arrays.asList(new Condition(new Column(s2bb("data"), s2bb("c"), s2bb("B")))),
+              Arrays.asList(newColUpdate("data", "seq", "1"))));
+
+      results = client.updateRowsConditionally(cwid, updates);
+
+      assertEquals(2, results.size());
+      assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00348")));
+      assertEquals(ConditionalStatus.INVISIBLE_VISIBILITY, results.get(s2bb("00349")));
+
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+      // Verify that the original user can't see the updates with visibilities set
+      assertScan(
+          new String[][] {{"00345", "data", "img", "1234567890"}, {"00345", "meta", "seq", "3"},
+              {"00346", "meta", "seq", "1"}, {"00347", "data", "count", "3"},
+              {"00347", "data", "img", "0987654321"}, {"00348", "data", "seq", "1"}},
+          tableName);
+
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(cwuser.getPrincipal(),
+            cwuser.getKeytab().getAbsolutePath());
+        client = cwuserProxyClient.proxy();
+      }
+
+      updates.clear();
+
+      updates.clear();
+      updates.put(s2bb("00348"), new ConditionalUpdates(
+          Arrays.asList(
+              new Condition(new Column(s2bb("data"), s2bb("c"), s2bb("A"))).setValue(s2bb("0"))),
+          Arrays.asList(newColUpdate("data", "seq", "2"),
+              newColUpdate("data", "c", "2").setColVisibility(s2bb("A")))));
+
+      results = client.updateRowsConditionally(cwid, updates);
+
+      assertEquals(1, results.size());
+      assertEquals(ConditionalStatus.REJECTED, results.get(s2bb("00348")));
+
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+
+      // Same results as the original user
+      assertScan(
+          new String[][] {{"00345", "data", "img", "1234567890"}, {"00345", "meta", "seq", "3"},
+              {"00346", "meta", "seq", "1"}, {"00347", "data", "count", "3"},
+              {"00347", "data", "img", "0987654321"}, {"00348", "data", "seq", "1"}},
+          tableName);
+
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(cwuser.getPrincipal(),
+            cwuser.getKeytab().getAbsolutePath());
+        client = cwuserProxyClient.proxy();
+      }
+
+      updates.clear();
+      updates.put(s2bb("00348"), new ConditionalUpdates(
+          Arrays.asList(
+              new Condition(new Column(s2bb("data"), s2bb("c"), s2bb("A"))).setValue(s2bb("1"))),
+          Arrays.asList(newColUpdate("data", "seq", "2"),
+              newColUpdate("data", "c", "2").setColVisibility(s2bb("A")))));
+
+      results = client.updateRowsConditionally(cwid, updates);
+
+      assertEquals(1, results.size());
+      assertEquals(ConditionalStatus.ACCEPTED, results.get(s2bb("00348")));
+
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        client = origClient;
+      }
+
+      assertScan(
+          new String[][] {{"00345", "data", "img", "1234567890"}, {"00345", "meta", "seq", "3"},
+              {"00346", "meta", "seq", "1"}, {"00347", "data", "count", "3"},
+              {"00347", "data", "img", "0987654321"}, {"00348", "data", "seq", "2"}},
+          tableName);
+
+      if (isKerberosEnabled()) {
+        UserGroupInformation.loginUserFromKeytab(cwuser.getPrincipal(),
+            cwuser.getKeytab().getAbsolutePath());
+        client = cwuserProxyClient.proxy();
+      }
+
+      client.closeConditionalWriter(cwid);
+      try {
+        client.updateRowsConditionally(cwid, updates);
+        fail("conditional writer not closed");
+      } catch (UnknownWriter uk) {}
+    } finally {
+      if (isKerberosEnabled()) {
+        // Close the other client
+        if (cwuserProxyClient != null) {
+          cwuserProxyClient.close();
+        }
+
+        UserGroupInformation.loginUserFromKeytab(clientPrincipal, clientKeytab.getAbsolutePath());
+        // Re-login and restore the original client
+        client = origClient;
+      }
+      client.dropLocalUser(creds, principal);
+    }
+  }
+
+  private void checkKey(String row, String cf, String cq, String val, KeyValue keyValue) {
+    assertEquals(row, ByteBufferUtil.toString(keyValue.key.row));
+    assertEquals(cf, ByteBufferUtil.toString(keyValue.key.colFamily));
+    assertEquals(cq, ByteBufferUtil.toString(keyValue.key.colQualifier));
+    assertEquals("", ByteBufferUtil.toString(keyValue.key.colVisibility));
+    assertEquals(val, ByteBufferUtil.toString(keyValue.value));
+  }
+
+  // scan metadata for file entries for the given table
+  private int countFiles(String table) throws Exception {
+    Map<String,String> tableIdMap = client.tableIdMap(creds);
+    String tableId = tableIdMap.get(table);
+    Key start = new Key();
+    start.row = s2bb(tableId + ";");
+    Key end = new Key();
+    end.row = s2bb(tableId + "<");
+    end = client.getFollowing(end, PartialKey.ROW);
+    ScanOptions opt = new ScanOptions();
+    opt.range = new Range(start, true, end, false);
+    opt.columns = Collections.singletonList(new ScanColumn(s2bb("file")));
+    String scanner = client.createScanner(creds, MetadataTable.NAME, opt);
+    int result = 0;
+    while (true) {
+      ScanResult more = client.nextK(scanner, 100);
+      result += more.getResults().size();
+      if (!more.more)
+        break;
+    }
+    return result;
+  }
+
+  private Map<ByteBuffer,List<ColumnUpdate>> mutation(String row, String cf, String cq,
+      String value) {
+    ColumnUpdate upd = new ColumnUpdate(s2bb(cf), s2bb(cq));
+    upd.setValue(value.getBytes(UTF_8));
+    return Collections.singletonMap(s2bb(row), Collections.singletonList(upd));
+  }
+
+  private ByteBuffer s2bb(String cf) {
+    return ByteBuffer.wrap(cf.getBytes(UTF_8));
+  }
+
+  private Map<String,String> s2pp(String cf) {
+    Map<String,String> toRet = new TreeMap<>();
+    toRet.put("password", cf);
+    return toRet;
+  }
+
+  private static ByteBuffer t2bb(Text t) {
+    return ByteBuffer.wrap(t.getBytes());
+  }
+
+  @Test
+  public void testGetRowRange() throws Exception {
+    Range range = client.getRowRange(s2bb("xyzzy"));
+    org.apache.accumulo.core.data.Range range2 = new org.apache.accumulo.core.data.Range(
+        new Text("xyzzy"));
+    assertEquals(0, range.start.row.compareTo(t2bb(range2.getStartKey().getRow())));
+    assertEquals(0, range.stop.row.compareTo(t2bb(range2.getEndKey().getRow())));
+    assertEquals(range.startInclusive, range2.isStartKeyInclusive());
+    assertEquals(range.stopInclusive, range2.isEndKeyInclusive());
+    assertEquals(0, range.start.colFamily.compareTo(t2bb(range2.getStartKey().getColumnFamily())));
+    assertEquals(0,
+        range.start.colQualifier.compareTo(t2bb(range2.getStartKey().getColumnQualifier())));
+    assertEquals(0, range.stop.colFamily.compareTo(t2bb(range2.getEndKey().getColumnFamily())));
+    assertEquals(0,
+        range.stop.colQualifier.compareTo(t2bb(range2.getEndKey().getColumnQualifier())));
+    assertEquals(range.start.timestamp, range.start.timestamp);
+    assertEquals(range.stop.timestamp, range.stop.timestamp);
+  }
+
+  @Test
+  public void testCompactionStrategy() throws Exception {
+    File jarDir = new File(System.getProperty("user.dir"), "target");
+    assertTrue(jarDir.mkdirs() || jarDir.isDirectory());
+    File jarFile = new File(jarDir, "TestCompactionStrat.jar");
+    FileUtils.copyInputStreamToFile(Class.class.getResourceAsStream("/TestCompactionStrat.jar"),
+        jarFile);
+    client.setProperty(creds, Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "context1",
+        jarFile.toString());
+    client.setTableProperty(creds, tableName, Property.TABLE_CLASSPATH.getKey(), "context1");
+
+    client.addSplits(creds, tableName, Collections.singleton(s2bb("efg")));
+
+    client.updateAndFlush(creds, tableName, mutation("a", "cf", "cq", "v1"));
+    client.flushTable(creds, tableName, null, null, true);
+
+    client.updateAndFlush(creds, tableName, mutation("b", "cf", "cq", "v2"));
+    client.flushTable(creds, tableName, null, null, true);
+
+    client.updateAndFlush(creds, tableName, mutation("y", "cf", "cq", "v1"));
+    client.flushTable(creds, tableName, null, null, true);
+
+    client.updateAndFlush(creds, tableName, mutation("z", "cf", "cq", "v2"));
+    client.flushTable(creds, tableName, null, null, true);
+
+    assertEquals(4, countFiles(tableName));
+
+    CompactionStrategyConfig csc = new CompactionStrategyConfig();
+
+    // The EfgCompactionStrat will only compact tablets with and end row of efg
+    csc.setClassName("org.apache.accumulo.test.EfgCompactionStrat");
+
+    client.compactTable(creds, tableName, null, null, null, true, true, csc);
+
+    assertEquals(3, countFiles(tableName));
+  }
+
+  @Test
+  public void namespaceOperations() throws Exception {
+    // default namespace and accumulo namespace
+    assertEquals("System namespace is wrong", client.systemNamespace(), Namespace.ACCUMULO.name());
+    assertEquals("Default namespace is wrong", client.defaultNamespace(), Namespace.DEFAULT.name());
+
+    // namespace existence and namespace listing
+    assertTrue("Namespace created during setup should exist",
+        client.namespaceExists(creds, namespaceName));
+    assertTrue("Namespace listing should contain namespace created during setup",
+        client.listNamespaces(creds).contains(namespaceName));
+
+    // create new namespace
+    String newNamespace = "foobar";
+    client.createNamespace(creds, newNamespace);
+
+    assertTrue("Namespace just created should exist", client.namespaceExists(creds, newNamespace));
+    assertTrue("Namespace listing should contain just created",
+        client.listNamespaces(creds).contains(newNamespace));
+
+    // rename the namespace
+    String renamedNamespace = "foobar_renamed";
+    client.renameNamespace(creds, newNamespace, renamedNamespace);
+
+    assertTrue("Renamed namespace should exist", client.namespaceExists(creds, renamedNamespace));
+    assertTrue("Namespace listing should contain renamed namespace",
+        client.listNamespaces(creds).contains(renamedNamespace));
+
+    assertFalse("Original namespace should no longer exist",
+        client.namespaceExists(creds, newNamespace));
+    assertFalse("Namespace listing should no longer contain original namespace",
+        client.listNamespaces(creds).contains(newNamespace));
+
+    // delete the namespace
+    client.deleteNamespace(creds, renamedNamespace);
+    assertFalse("Renamed namespace should no longer exist",
+        client.namespaceExists(creds, renamedNamespace));
+    assertFalse("Namespace listing should no longer contain renamed namespace",
+        client.listNamespaces(creds).contains(renamedNamespace));
+
+    // namespace properties
+    Map<String,String> cfg = client.getNamespaceProperties(creds, namespaceName);
+    String defaultProp = cfg.get("table.compaction.major.ratio");
+    assertNotEquals(defaultProp, "10"); // let's make sure we are setting this value to something
+                                        // different than default...
+    client.setNamespaceProperty(creds, namespaceName, "table.compaction.major.ratio", "10");
+    for (int i = 0; i < 5; i++) {
+      cfg = client.getNamespaceProperties(creds, namespaceName);
+      if ("10".equals(cfg.get("table.compaction.major.ratio"))) {
+        break;
+      }
+      sleepUninterruptibly(200, TimeUnit.MILLISECONDS);
+    }
+    assertTrue("Namespace should contain table.compaction.major.ratio property", client
+        .getNamespaceProperties(creds, namespaceName).containsKey("table.compaction.major.ratio"));
+    assertEquals("Namespace property table.compaction.major.ratio property should equal 10",
+        client.getNamespaceProperties(creds, namespaceName).get("table.compaction.major.ratio"),
+        "10");
+    client.removeNamespaceProperty(creds, namespaceName, "table.compaction.major.ratio");
+    for (int i = 0; i < 5; i++) {
+      cfg = client.getNamespaceProperties(creds, namespaceName);
+      if (!defaultProp.equals(cfg.get("table.compaction.major.ratio"))) {
+        break;
+      }
+      sleepUninterruptibly(200, TimeUnit.MILLISECONDS);
+    }
+    assertEquals("Namespace should have default value for table.compaction.major.ratio",
+        defaultProp, cfg.get("table.compaction.major.ratio"));
+
+    // namespace ID map
+    assertTrue("Namespace ID map should contain accumulo",
+        client.namespaceIdMap(creds).containsKey("accumulo"));
+    assertTrue("Namespace ID map should contain namespace created during setup",
+        client.namespaceIdMap(creds).containsKey(namespaceName));
+
+    // namespace iterators
+    IteratorSetting setting = new IteratorSetting(100, "DebugTheThings",
+        DebugIterator.class.getName(), Collections.emptyMap());
+    client.attachNamespaceIterator(creds, namespaceName, setting, EnumSet.of(IteratorScope.SCAN));
+    assertEquals("Wrong iterator setting returned", setting, client
+        .getNamespaceIteratorSetting(creds, namespaceName, "DebugTheThings", IteratorScope.SCAN));
+    assertTrue("Namespace iterator settings should contain iterator just added",
+        client.listNamespaceIterators(creds, namespaceName).containsKey("DebugTheThings"));
+    assertEquals("Namespace iterator listing should contain iterator scope just added",
+        EnumSet.of(IteratorScope.SCAN),
+        client.listNamespaceIterators(creds, namespaceName).get("DebugTheThings"));
+    client.checkNamespaceIteratorConflicts(creds, namespaceName, setting,
+        EnumSet.of(IteratorScope.MAJC));
+    client.removeNamespaceIterator(creds, namespaceName, "DebugTheThings",
+        EnumSet.of(IteratorScope.SCAN));
+    assertFalse("Namespace iterator settings should contain iterator just added",
+        client.listNamespaceIterators(creds, namespaceName).containsKey("DebugTheThings"));
+
+    // namespace constraints
+    int id = client.addNamespaceConstraint(creds, namespaceName, MaxMutationSize.class.getName());
+    assertTrue("Namespace should contain max mutation size constraint",
+        client.listNamespaceConstraints(creds, namespaceName)
+            .containsKey(MaxMutationSize.class.getName()));
+    assertEquals("Namespace max mutation size constraint id is wrong", id, (int) client
+        .listNamespaceConstraints(creds, namespaceName).get(MaxMutationSize.class.getName()));
+    client.removeNamespaceConstraint(creds, namespaceName, id);
+    assertFalse("Namespace should no longer contain max mutation size constraint",
+        client.listNamespaceConstraints(creds, namespaceName)
+            .containsKey(MaxMutationSize.class.getName()));
+
+    // namespace class load
+    assertTrue("Namespace class load should work", client.testNamespaceClassLoad(creds,
+        namespaceName, DebugIterator.class.getName(), SortedKeyValueIterator.class.getName()));
+    assertFalse("Namespace class load should not work", client.testNamespaceClassLoad(creds,
+        namespaceName, "foo.bar", SortedKeyValueIterator.class.getName()));
+  }
+}
diff --git a/src/test/java/org/apache/accumulo/proxy/its/TBinaryProxyIT.java b/src/test/java/org/apache/accumulo/proxy/its/TBinaryProxyIT.java
new file mode 100644
index 0000000..92a2576
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/TBinaryProxyIT.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.junit.BeforeClass;
+
+public class TBinaryProxyIT extends SimpleProxyBase {
+
+  @BeforeClass
+  public static void setProtocol() throws Exception {
+    SharedMiniClusterBase.startMiniClusterWithConfig(new TestConfig());
+    SimpleProxyBase.factory = new TBinaryProtocol.Factory();
+    setUpProxy();
+  }
+
+}
diff --git a/src/test/java/org/apache/accumulo/proxy/its/TCompactProxyIT.java b/src/test/java/org/apache/accumulo/proxy/its/TCompactProxyIT.java
new file mode 100644
index 0000000..bb97bc1
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/TCompactProxyIT.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.accumulo.test.categories.MiniClusterOnlyTests;
+import org.apache.accumulo.test.categories.SunnyDayTests;
+import org.apache.thrift.protocol.TCompactProtocol;
+import org.junit.BeforeClass;
+import org.junit.experimental.categories.Category;
+
+@Category({MiniClusterOnlyTests.class, SunnyDayTests.class})
+public class TCompactProxyIT extends SimpleProxyBase {
+
+  @BeforeClass
+  public static void setProtocol() throws Exception {
+    SharedMiniClusterBase.startMiniClusterWithConfig(new TestConfig());
+    SimpleProxyBase.factory = new TCompactProtocol.Factory();
+    setUpProxy();
+  }
+}
diff --git a/src/test/java/org/apache/accumulo/proxy/its/TJsonProtocolProxyIT.java b/src/test/java/org/apache/accumulo/proxy/its/TJsonProtocolProxyIT.java
new file mode 100644
index 0000000..270691f
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/TJsonProtocolProxyIT.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.thrift.protocol.TJSONProtocol;
+import org.junit.BeforeClass;
+
+public class TJsonProtocolProxyIT extends SimpleProxyBase {
+
+  @BeforeClass
+  public static void setProtocol() throws Exception {
+    SharedMiniClusterBase.startMiniClusterWithConfig(new TestConfig());
+    SimpleProxyBase.factory = new TJSONProtocol.Factory();
+    setUpProxy();
+  }
+
+}
diff --git a/src/test/java/org/apache/accumulo/proxy/its/TTupleProxyIT.java b/src/test/java/org/apache/accumulo/proxy/its/TTupleProxyIT.java
new file mode 100644
index 0000000..fcca254
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/TTupleProxyIT.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import org.apache.accumulo.harness.SharedMiniClusterBase;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.junit.BeforeClass;
+
+public class TTupleProxyIT extends SimpleProxyBase {
+
+  @BeforeClass
+  public static void setProtocol() throws Exception {
+    SharedMiniClusterBase.startMiniClusterWithConfig(new TestConfig());
+    SimpleProxyBase.factory = new TTupleProtocol.Factory();
+    setUpProxy();
+  }
+
+}
diff --git a/src/test/java/org/apache/accumulo/proxy/its/TestProxyClient.java b/src/test/java/org/apache/accumulo/proxy/its/TestProxyClient.java
new file mode 100644
index 0000000..5e8826d
--- /dev/null
+++ b/src/test/java/org/apache/accumulo/proxy/its/TestProxyClient.java
@@ -0,0 +1,210 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.proxy.its;
+
+import static java.nio.charset.StandardCharsets.UTF_8;
+
+import java.nio.ByteBuffer;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.security.sasl.SaslException;
+
+import org.apache.accumulo.core.client.IteratorSetting;
+import org.apache.accumulo.core.iterators.user.RegExFilter;
+import org.apache.accumulo.core.rpc.UGIAssumingTransport;
+import org.apache.accumulo.proxy.Util;
+import org.apache.accumulo.proxy.thrift.AccumuloProxy;
+import org.apache.accumulo.proxy.thrift.ColumnUpdate;
+import org.apache.accumulo.proxy.thrift.Key;
+import org.apache.accumulo.proxy.thrift.ScanResult;
+import org.apache.accumulo.proxy.thrift.TimeType;
+import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.thrift.protocol.TCompactProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.protocol.TProtocolFactory;
+import org.apache.thrift.transport.TFramedTransport;
+import org.apache.thrift.transport.TSaslClientTransport;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.apache.thrift.transport.TTransportException;
+
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+
+public class TestProxyClient {
+
+  protected AccumuloProxy.Client proxy;
+  protected TTransport transport;
+
+  public TestProxyClient(String host, int port) throws TTransportException {
+    this(host, port, new TCompactProtocol.Factory());
+  }
+
+  public TestProxyClient(String host, int port, TProtocolFactory protoFactory)
+      throws TTransportException {
+    final TSocket socket = new TSocket(host, port);
+    socket.setTimeout(600000);
+    transport = new TFramedTransport(socket);
+    final TProtocol protocol = protoFactory.getProtocol(transport);
+    proxy = new AccumuloProxy.Client(protocol);
+    transport.open();
+  }
+
+  public TestProxyClient(String host, int port, TProtocolFactory protoFactory, String proxyPrimary,
+      UserGroupInformation ugi) throws SaslException, TTransportException {
+    TSocket socket = new TSocket(host, port);
+    TSaslClientTransport saslTransport = new TSaslClientTransport("GSSAPI", null, proxyPrimary,
+        host, Collections.singletonMap("javax.security.sasl.qop", "auth"), null, socket);
+
+    transport = new UGIAssumingTransport(saslTransport, ugi);
+
+    // UGI transport will perform the doAs for us
+    transport.open();
+
+    AccumuloProxy.Client.Factory factory = new AccumuloProxy.Client.Factory();
+    final TProtocol protocol = protoFactory.getProtocol(transport);
+    proxy = factory.getClient(protocol);
+  }
+
+  public synchronized void close() {
+    if (transport != null) {
+      transport.close();
+      transport = null;
+    }
+  }
+
+  public AccumuloProxy.Client proxy() {
+    return proxy;
+  }
+
+  @SuppressFBWarnings(value = "HARD_CODE_PASSWORD", justification = "test password is okay")
+  public static void main(String[] args) throws Exception {
+
+    TestProxyClient tpc = new TestProxyClient("localhost", 42424);
+    String principal = "root";
+    Map<String,String> props = new TreeMap<>();
+    props.put("password", "secret");
+
+    System.out.println("Logging in");
+    ByteBuffer login = tpc.proxy.login(principal, props);
+
+    System.out.println("Creating user: ");
+    if (!tpc.proxy().listLocalUsers(login).contains("testuser")) {
+      tpc.proxy().createLocalUser(login, "testuser", ByteBuffer.wrap("testpass".getBytes(UTF_8)));
+    }
+    System.out.println("UserList: " + tpc.proxy().listLocalUsers(login));
+
+    System.out.println("Listing: " + tpc.proxy().listTables(login));
+
+    System.out.println("Deleting: ");
+    String testTable = "testtableOMGOMGOMG";
+
+    System.out.println("Creating: ");
+
+    if (tpc.proxy().tableExists(login, testTable))
+      tpc.proxy().deleteTable(login, testTable);
+
+    tpc.proxy().createTable(login, testTable, true, TimeType.MILLIS);
+
+    System.out.println("Listing: " + tpc.proxy().listTables(login));
+
+    System.out.println("Writing: ");
+    Date start = new Date();
+    Date then = new Date();
+    int maxInserts = 1000000;
+    String format = "%1$05d";
+    Map<ByteBuffer,List<ColumnUpdate>> mutations = new HashMap<>();
+    for (int i = 0; i < maxInserts; i++) {
+      String result = String.format(format, i);
+      ColumnUpdate update = new ColumnUpdate(ByteBuffer.wrap(("cf" + i).getBytes(UTF_8)),
+          ByteBuffer.wrap(("cq" + i).getBytes(UTF_8)));
+      update.setValue(Util.randStringBuffer(10));
+      mutations.put(ByteBuffer.wrap(result.getBytes(UTF_8)), Collections.singletonList(update));
+
+      if (i % 1000 == 0) {
+        tpc.proxy().updateAndFlush(login, testTable, mutations);
+        mutations.clear();
+      }
+    }
+    tpc.proxy().updateAndFlush(login, testTable, mutations);
+    Date end = new Date();
+    System.out.println(" End of writing: " + (end.getTime() - start.getTime()));
+
+    tpc.proxy().deleteTable(login, testTable);
+    tpc.proxy().createTable(login, testTable, true, TimeType.MILLIS);
+
+    // Thread.sleep(1000);
+
+    System.out.println("Writing async: ");
+    start = new Date();
+    then = new Date();
+    mutations.clear();
+    String writer = tpc.proxy().createWriter(login, testTable, null);
+    for (int i = 0; i < maxInserts; i++) {
+      String result = String.format(format, i);
+      Key pkey = new Key();
+      pkey.setRow(result.getBytes(UTF_8));
+      ColumnUpdate update = new ColumnUpdate(ByteBuffer.wrap(("cf" + i).getBytes(UTF_8)),
+          ByteBuffer.wrap(("cq" + i).getBytes(UTF_8)));
+      update.setValue(Util.randStringBuffer(10));
+      mutations.put(ByteBuffer.wrap(result.getBytes(UTF_8)), Collections.singletonList(update));
+      tpc.proxy().update(writer, mutations);
+      mutations.clear();
+    }
+
+    end = new Date();
+    System.out.println(" End of writing: " + (end.getTime() - start.getTime()));
+    start = end;
+    System.out.println("Closing...");
+    tpc.proxy().closeWriter(writer);
+    end = new Date();
+    System.out.println(" End of closing: " + (end.getTime() - start.getTime()));
+
+    System.out.println("Reading: ");
+
+    String regex = "cf1.*";
+
+    IteratorSetting is = new IteratorSetting(50, regex, RegExFilter.class);
+    RegExFilter.setRegexs(is, null, regex, null, null, false);
+
+    String cookie = tpc.proxy().createScanner(login, testTable, null);
+
+    int i = 0;
+    start = new Date();
+    then = new Date();
+    boolean hasNext = true;
+
+    int k = 1000;
+    while (hasNext) {
+      ScanResult kvList = tpc.proxy().nextK(cookie, k);
+
+      Date now = new Date();
+      System.out.println(i + " " + (now.getTime() - then.getTime()));
+      then = now;
+
+      i += kvList.getResultsSize();
+      // for (TKeyValue kv:kvList.getResults()) System.out.println(new Key(kv.getKey()));
+      hasNext = kvList.isMore();
+    }
+    end = new Date();
+    System.out.println("Total entries: " + i + " total time " + (end.getTime() - start.getTime()));
+  }
+}
diff --git a/src/test/thrift/test.thrift b/src/test/thrift/test.thrift
new file mode 100644
index 0000000..fe74462
--- /dev/null
+++ b/src/test/thrift/test.thrift
@@ -0,0 +1,30 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+namespace java org.apache.accumulo.test.rpc.thrift
+
+service SimpleThriftService {
+
+  string echoPass(1:string value)
+  oneway void onewayPass(1:string value)
+
+  string echoFail(1:string value)
+  oneway void onewayFail(1:string value)
+
+  string echoRuntimeFail(1:string value)
+  oneway void onewayRuntimeFail(1:string value)
+
+}