Avoid unnecessary object creation if .withSource doesn't change the source