Since "getOptionalId() != null" is technically the same as "isOptionalObjectInBatch()", isn't this additional check redundant?  Can #optionalObjectInBatch be removed, period?