void handle(final IGPSObject object) {
		if (object instanceof TPVObject) {
			for (final IObjectListener l : this.listeners) {
				l.handleTPV((TPVObject) object);
			}
		} else if (object instanceof SKYObject) {
			for (final IObjectListener l : this.listeners) {
				l.handleSKY((SKYObject) object);
			}
		} else if (object instanceof ATTObject) {
			for (final IObjectListener l : this.listeners) {
				l.handleATT((ATTObject) object);
			}
		} else if (object instanceof SUBFRAMEObject) {
			for (final IObjectListener l : this.listeners) {
				l.handleSUBFRAME((SUBFRAMEObject) object);
			}
		} else if (object instanceof DevicesObject) {
			for (final IObjectListener l : this.listeners) {
				l.handleDevices((DevicesObject) object);
			}
		} else if (object instanceof DeviceObject) {
			for (final IObjectListener l : this.listeners) {
				l.handleDevice((DeviceObject) object);
			}
		} else {
			// object was requested, so put it in the response object
			synchronized (this.asyncWaitMutex) {
				this.asyncResult = object;
				this.asyncWaitMutex.notifyAll();
			}
		}
	}
void handle ( final IGPSObject object ) { if ( object instanceof TPVObject ) { for ( final IObjectListener l : this . listeners ) { l . handleTPV ( ( TPVObject ) object ) ; } } else if ( object instanceof SKYObject ) { for ( final IObjectListener l : this . listeners ) { l . handleSKY ( ( SKYObject ) object ) ; } } else if ( object instanceof ATTObject ) { for ( final IObjectListener l : this . listeners ) { l . handleATT ( ( ATTObject ) object ) ; } } else if ( object instanceof SUBFRAMEObject ) { for ( final IObjectListener l : this . listeners ) { l . handleSUBFRAME ( ( SUBFRAMEObject ) object ) ; } } else if ( object instanceof DevicesObject ) { for ( final IObjectListener l : this . listeners ) { l . handleDevices ( ( DevicesObject ) object ) ; } } else if ( object instanceof DeviceObject ) { for ( final IObjectListener l : this . listeners ) { l . handleDevice ( ( DeviceObject ) object ) ; } } else { synchronized ( this . asyncWaitMutex ) { this . asyncResult = object ; this . asyncWaitMutex . notifyAll ( ) ; } } }
/*
handle incoming messages and dispatch them