this.refCount = rc;
	protected final int incRefCount() {		final boolean initialize;		final int rc;		synchronized (this) {			refCount++;			rc = refCount;			initialize = (refCount == 1);		}		if (initialize) {			final JNodeFrameBufferDevice dev = (JNodeFrameBufferDevice) GraphicsEnvironment					.getLocalGraphicsEnvironment().getDefaultScreenDevice();			config = (JNodeGraphicsConfiguration) dev.getDefaultConfiguration();			this.api = dev.getAPI();			try {				log.debug("Opening AWT: Using device " + dev.getIDstring());				this.graphics = api.open(config.getConfig());				screenSize.width = config.getConfig().getScreenWidth();				screenSize.height = config.getConfig().getScreenHeight();				this.keyboardHandler = new KeyboardHandler();				this.mouseHandler = new MouseHandler(dev.getDevice(),						screenSize);				onInitialize();			} catch (DeviceException ex) {				decRefCount(true);				throw (AWTError) new AWTError(ex.getMessage()).initCause(ex);			} catch (UnknownConfigurationException ex) {				decRefCount(true);				throw (AWTError) new AWTError(ex.getMessage()).initCause(ex);			} catch (AlreadyOpenException ex) {				decRefCount(true);				throw (AWTError) new AWTError(ex.getMessage()).initCause(ex);			} catch (Throwable ex) {				decRefCount(true);				log.error("Unknown exception", ex);				throw (AWTError) new AWTError(ex.getMessage()).initCause(ex);			}		}		return rc;	}