public long getMax(long start, long end) {
			if (this.start == start && this.end == end)
				return maxVal;
			long mid = (this.start + this.end) / 2;
			if (start <= mid && end <= mid)
				return left.getMax(start, end);
			if (start > mid && end > mid)
				return right.getMax(start, end);
			return Math
					.max(left.getMax(start, mid), right.getMax(mid + 1, end));
		}