private int balance() {
    if (this.isEmpty() || this.isLeaf())
      return 0;
    if (this.getLeft() == null)
      return this.getRight().height;
    if (this.getRight() == null)
      return -(this.getLeft().height);
    return (this.getRight().height - this.getLeft().height);
  }