private void applyTransition(Transition transition) {
		System.out.println("[DBQueryHandler] Handling transition " + transition.getTransitionId());
		try {
			if(TransitionState.ACKNOWLEGED.equals(transition.getTransitionState())) {
				this.transitionQueue.removeTransition(transition);
			} else if(TransitionState.PENDING.equals(transition.getTransitionState()) ) {
				
				SqliteDatabaseConnection connection = new SqliteDatabaseConnection(Statics.DB_FILE);
				transition.performTransition(connection);
				connection.close();
				
				// contact other database servers
				if(this.interServerConnector != null){
					this.interServerConnector.shareTransition(transition);
				}
				
				transition.setTransitionState(TransitionState.PROCESSED);
				transition.setHandlingDate(new Date(System.currentTimeMillis()));

				this.transitionQueue.addTransition(transition);
			} else {
				System.err.println("Invalid System TransitionState: " + transition.getTransitionState() + " no processing");
			}
		} catch (ConnectException e) {
			System.err.println(e.getMessage());
		} catch (DatabaseException e) {
			System.err.println(e.getMessage());
		}
	}