add preconditions in getSerializableFieldValue method