code: public Map<String, String> build() {
      NullAllowingImmutableMap.Builder<String, String> builder = NullAllowingImmutableMap.builder(3);
      // add compression (if configured) and driver name and version
      String compressionAlgorithm = context.getCompressor().algorithm();
      if (compressionAlgorithm != null && !compressionAlgorithm.trim().isEmpty()) {
        builder.put(Startup.COMPRESSION_KEY, compressionAlgorithm.trim());
      }
      return builder
          .put(DRIVER_NAME_KEY, getDriverName())
          .put(DRIVER_VERSION_KEY, getDriverVersion())
          .build();
    }
docs: Builds a map of options to send in a Startup message.
  
  <p>The default set of options are built here and include {@link
  com.datastax.oss.protocol.internal.request.Startup#COMPRESSION_KEY} (if the context passed in
  has a compressor/algorithm set), and the driver's {@link #DRIVER_NAME_KEY} and {@link
  #DRIVER_VERSION_KEY}. The {@link com.datastax.oss.protocol.internal.request.Startup}
  constructor will add {@link
  com.datastax.oss.protocol.internal.request.Startup#CQL_VERSION_KEY}.
  
  @return Map of Startup Options.