При каких, интересно условиях возвращаемый объект будет null?
StringWriter writer = new StringWriter();
Что должно произойти, чтобы writer был null?