This patch introduces a FragmentRange concept which is the minimal interface all classes representing a fragmented buffer should satisfy.