private Db4objects.Db4o.Internal.ObjectReference Hc_add1(Db4objects.Db4o.Internal.ObjectReference newRef) { int cmp = Hc_compare(newRef); if (cmp < 0) { if (_hcPreceding == null) { _hcPreceding = newRef; _hcSize++; } else { _hcPreceding = _hcPreceding.Hc_add1(newRef); if (_hcSubsequent == null) { return(Hc_rotateRight()); } return(Hc_balance()); } } else { if (_hcSubsequent == null) { _hcSubsequent = newRef; _hcSize++; } else { _hcSubsequent = _hcSubsequent.Hc_add1(newRef); if (_hcPreceding == null) { return(Hc_rotateLeft()); } return(Hc_balance()); } } return(this); }