private static <T> void compareAndSetUserObject(
      final TypedDefaultMutableTreeNode<T> node, final T oldData, final T newData) {
    Preconditions.checkNotNull(node);
    Preconditions.checkNotNull(oldData);
    Preconditions.checkNotNull(newData);

    Assert.assertEquals(node.getUserObject(), oldData);
    node.setUserObjectSafely(newData);
  }