+htc #16084 introduce CustomHeader superclass for user-defined headers

Fixes #16084.

/cc @sirthias
Shouldn't this be mirrored in the Java model?