premature short-circuit in components functionObject
@andy - can't see why the write() and clear() methods should short-circuit on failure. Surely we'd want to have this instead?
forAll(resultNames_, i)
{
written = writeObject(resultNames_[i]) && written;
}