code: public ThriftServerDef build()
      {
          checkState(niftyProcessorFactory != null || thriftProcessorFactory != null,
                     "Processor not defined!");
          checkState(niftyProcessorFactory == null || thriftProcessorFactory == null,
                     "TProcessors will be automatically adapted to NiftyProcessors, don't specify both");
          checkState(maxConnections >= 0, "maxConnections should be 0 (for unlimited) or positive");
  
          if (niftyProcessorFactory == null)
          {
              niftyProcessorFactory = factoryFromTProcessorFactory(thriftProcessorFactory);
          }
  
          return new ThriftServerDef(
                  name,
                  serverPort,
                  maxFrameSize,
                  queuedResponseLimit,
                  maxConnections,
                  niftyProcessorFactory,
                  duplexProtocolFactory,
                  clientIdleTimeout,
                  taskTimeout,
                  queueTimeout,
                  thriftFrameCodecFactory,
                  executor,
                  securityFactory,
                  sslConfiguration,
                  transportAttachObserver);
      }
docs: Build the ThriftServerDef