* @param refresh true if server list should always be retrieved from master server
* @return the server list served by this master server.
*/
public synchronized GameServerListWrapper getServerList(boolean refresh) {
if(!refresh && serverList != null) return serverList;
MasterServerExtensionProxy provider = MasterServerExtensionPoint.getMasterServerExtensionById(protocolId);
GameServer[] serverList = provider.retrieveServerList(this);
if(serverListener == null) {
serverListener = new SpheneListener<SpheneEvent>(){
public void handleEvent(SpheneEvent event) {
gameServerListenerList.fireEvent(event);