':param pool: the pool responsible of tracking Python objects passed to
the Java side.
:param gateway_client: the gateway client used to call Java objects.
:param callback_server_parameters: An instance of
`CallbackServerParameters` used to configure various options of the
callback server.'

def __init__(self, pool, gateway_client, port=DEFAULT_PYTHON_PROXY_PORT, address=DEFAULT_ADDRESS, callback_server_parameters=None):

    self.gateway_client = gateway_client
    self.callback_server_parameters = callback_server_parameters
    if (not callback_server_parameters):
        deprecated(u'CallbackServer.port    and    address', u'1.0', u'CallbackServerParameters')
        self.callback_server_parameters = CallbackServerParameters(address=address, port=port)
    self.port = self.callback_server_parameters.port
    self.address = self.callback_server_parameters.address
    self.pool = pool
    self.connections = []
    self.lock = RLock()
    self.is_shutdown = False
