Same as in AbstractRowDataValueSource. Perhaps pulling this out into a public static helper for reuse?