def requestField(self, field_name, required=False, strict=False):
        checkFieldName(field_name)

        if strict:
            if field_name in self.required or field_name in self.optional:
                raise ValueError('That field has already been requested')
        else:
            if field_name in self.required:
                return

            if field_name in self.optional:
                if required:
                    self.optional.remove(field_name)
                else:
                    return

        if required:
            self.required.append(field_name)
        else:
            self.optional.append(field_name)
Test that the callLater of the clock is used instead of
dataset/ETHPy150Open CollabQ/CollabQ/openid/extensions/sreg.py/SRegRequest.requestField--crossover with--dataset/ETHPy150Open nlloyd/SubliminalCollaborator/libs/twisted/test/test_policies.py/TestTimeout.test_overriddenCallLater