'Called by subclasses to continue to the stage of initialization where
the socket connect attempt is made.
@param whenDone: A 0-argument callable to invoke once the connection is
set up.  This is L{None} if the connection could not be prepared
due to a previous error.
@param skt: The socket object to use to perform the connection.
@type skt: C{socket._socketobject}
@param error: The error to fail the connection with.
@param reactor: The reactor to use for this client.
@type reactor: L{twisted.internet.interfaces.IReactorTime}'

def _finishInit(self, whenDone, skt, error, reactor):

    if whenDone:
        self._commonConnection.__init__(self, skt, None, reactor)
        reactor.callLater(0, whenDone)
    else:
        reactor.callLater(0, self.failIfNotConnected, error)
