getValue merges existing metadata to preserve hidden values