private void initializeServerAttributes() {
		final BleServerManager serverManager = this.serverManager;
		if (serverManager != null) {
			final BluetoothGattServer server = serverManager.getServer();
			if (server != null) {
				for (final BluetoothGattService service: server.getServices()) {
					for (final BluetoothGattCharacteristic characteristic: service.getCharacteristics()) {
						if (!serverManager.isShared(characteristic)) {
							if (characteristicValues == null)
								characteristicValues = new HashMap<>();
							characteristicValues.put(characteristic, characteristic.getValue());
						}
						for (final BluetoothGattDescriptor descriptor: characteristic.getDescriptors()) {
							if (!serverManager.isShared(descriptor)) {
								if (descriptorValues == null)
									descriptorValues = new HashMap<>();
								descriptorValues.put(descriptor, descriptor.getValue());
							}
						}
					}
				}
				manager.onServerReady(server);
			}
		}
	}
If doing a server-only connection, use this instead of {@link BleManager#connect(BluetoothDevice)}
 inside of your {@link no.nordicsemi.android.ble.observer.ServerObserver#onDeviceConnectedToServer(BluetoothDevice)}
 handler.
ble/src/main/java/no/nordicsemi/android/ble/BleManagerHandler.java