public BytesRef subtract(BytesRef output, BytesRef inc) {assert output != null;assert inc != null;if (inc == NO_OUTPUT) {return output;} else {assert StringHelper.startsWith(output, inc);if (inc.length == output.length) {return NO_OUTPUT;} else {assert inc.length < output.length: "inc.length=" + inc.length + " vs output.length=" + output.length;assert inc.length > 0;return new BytesRef(output.bytes, output.offset + inc.length, output.length-inc.length);}}}

public override BytesRef Subtract(BytesRef output, BytesRef inc){Debug.Assert(output != null);Debug.Assert(inc != null);if (inc == NO_OUTPUT){return output;}else if (inc.Length == output.Length){return NO_OUTPUT;}else{Debug.Assert(inc.Length < output.Length, "inc.length=" + inc.Length + " vs output.length=" + output.Length);Debug.Assert(inc.Length > 0);return new BytesRef(output.Bytes, output.Offset + inc.Length, output.Length - inc.Length);}}
