For `fixEmpty` I think `@CheckForNull` is appropriate on both the parameter and the return type. The implementation does need to check for null (and the caller is free to pass null); and the caller is always expected to pay attention to the possibility of a null return value.