do not cache empty values unless false