private ScheduledExecutorService timers;
public synchronized InternalConnection getConnection(String apiKey, PusherOptions options) {
if (connection == null) {
try {
connection = new WebSocketConnection(options.buildUrl(apiKey),
options.getActivityTimeout(),
options.getPongTimeout(),
this);
} catch (URISyntaxException e) {
throw new IllegalArgumentException("Failed to initialise connection", e);