context must be null if empty