re-use StringBuilder instances when possible