public Promise<BMessage, BError, BMessage> sendMessage(final BMessage message){
if (DEBUG) Timber.v("sendMessage");
return new BMessageWrapper(message).send().done(new DoneCallback<BMessage>() {
@Override
public void onDone(BMessage message) {
<BUG>DatabaseReference threadRef = FirebasePaths.threadRef(message.getBThreadOwner().getEntityID());

threadRef = FirebasePaths.appendPathComponent(threadRef, BFirebaseDefines.Path.BDetailsPath);</BUG>
threadRef.updateChildren(FirebasePaths.getMap(new String[]{Keys.BLastMessageAdded}, ServerValue.TIMESTAMP));
pushForMessage(message);

public Promise<BMessage, BError, BMessage> sendMessage(final BMessage message){
if (DEBUG) Timber.v("sendMessage");
return new BMessageWrapper(message).send().done(new DoneCallback<BMessage>() {
@Override
public void onDone(BMessage message) {
DatabaseReference threadRef = FirebasePaths.threadRef(message.getBThreadOwner().getEntityID()).child(BFirebaseDefines.Path.BDetailsPath);
threadRef.updateChildren(FirebasePaths.getMap(new String[]{Keys.BLastMessageAdded}, ServerValue.TIMESTAMP));
pushForMessage(message);
