@Override
  public T withProperties(Properties properties) {
    super.withProperties(properties);

    if (properties.containsKey("betamax.proxyHost")) {
      proxyHost(properties.getProperty("betamax.proxyHost"));
    }

    if (properties.containsKey("betamax.proxyPort")) {
      proxyPort(TypedProperties.getInteger(properties, "betamax.proxyPort"));
    }

    if (properties.containsKey("betamax.proxyTimeoutSeconds")) {
      proxyTimeoutSeconds(TypedProperties.getInteger(properties, "betamax.proxyTimeoutSeconds"));
    }

    if (properties.containsKey("betamax.requestBufferSize")) {
      requestBufferSize(TypedProperties.getInteger(properties, "betamax.requestBufferSize"));
    }

    if (properties.containsKey("betamax.sslEnabled")) {
      sslEnabled(TypedProperties.getBoolean(properties, "betamax.sslEnabled"));
    }

    return self();
  }
 @Override
 public ConfigurationBuilder withProperties(Properties properties) {
   return builder.withProperties(properties);
 }