private NullableComparison(
     IResolver resolver,
     EmitterDelegate checkForIntermediateResultEmitter,
     EmitCheckNullablesForValueDelegate emitCheckNullablesForValue,
     IVariable variable)
 {
     _resolver = resolver;
     _checkForIntermediateResultEmitter = checkForIntermediateResultEmitter;
     _emitCheckNullablesForValue        = emitCheckNullablesForValue;
     _variable = variable;
 }
        public static NullableComparison Create(
            IResolver resolver,
            EmitterDelegate checkForIntermediateResultEmitter,
            EmitCheckNullablesForValueDelegate emitCheckNullablesForValue,
            IVariable variable)
        {
            if (variable.VariableType.IsNullable())
            {
                return(new NullableComparison(resolver, checkForIntermediateResultEmitter, emitCheckNullablesForValue, variable));
            }

            return(null);
        }