code: public Properties toProperties()
      {
          Properties p = new Properties();
          saveProperty(p, Type.API_ENDPOINT, endpoint);
          saveProperty(p, Type.API_PORT, port);
          saveProperty(p, Type.USESSL, useSSL);
          saveProperty(p, Type.APIKEY, apiKey);
          saveProperty(p, Type.USER, user);
          saveProperty(p, Type.PASSOWRD, password);
          if (proxy.isPresent()) {
              ProxyConfig pc = proxy.get();
              saveProperty(p, Type.PROXY_HOST, pc.getHost());
              saveProperty(p, Type.PROXY_PORT, pc.getPort());
              saveProperty(p, Type.PROXY_USER, pc.getUser());
              saveProperty(p, Type.PROXY_PASSWORD, pc.getPassword());
              saveProperty(p, Type.PROXY_USESSL, pc.useSSL());
          }
          saveProperty(p, Type.RETRY_LIMIT, retryLimit);
          saveProperty(p, Type.RETRY_INITIAL_INTERVAL_MILLIS, retryInitialIntervalMillis);
          saveProperty(p, Type.RETRY_MAX_INTERVAL_MILLIS, retryMaxIntervalMillis);
          saveProperty(p, Type.RETRY_MULTIPLIER, retryMultiplier);
          saveProperty(p, Type.CONNECT_TIMEOUT_MILLIS, connectTimeoutMillis);
          saveProperty(p, Type.CONNECTION_POOL_SIZE, connectionPoolSize);
          return p;
      }
docs: Output this configuration as a Properties object
  
  @return