public synchronized void init() throws  ServerAlreadyStartedException {
		if (alreadyStarted) {
			throw new ServerAlreadyStartedException();
		}
		// queue = new ArrayBlockingQueue<Runnable>(10);
		// threadPool = new ThreadPoolExecutor(1,1,10,TimeUnit.SECONDS,queue);
		try{
			LocalDevice.getLocalDevice().setDiscoverable(DiscoveryAgent.GIAC);			
		}catch (IOException e){
			e.printStackTrace();
		}
		
		serverState.notifyAllListener(BTServerStateObservable.SERVER_STARTED);
		alreadyStarted = true;

	}