private static bool CheckSingleType(PredefinedType predefinedType, IPsiModule psiModule, IType type, ITypeConversionRule conversionRule, IType typeInDeclaration)
 {
     if (!type.IsGenericOrNonIEnumerable())
     {
         if (!type.IsSubtypeOf(predefinedType.Array))
             return true;
         IDeclaredType scalarType = type.GetScalarType();
         return scalarType != null && scalarType.IsImplicitlyConvertibleTo(typeInDeclaration, conversionRule);
     }
     IDeclaredType ienumerableOf = CollectionTypeUtil.CreateIEnumerableOf(psiModule, typeInDeclaration);
     return ienumerableOf == null || type.IsImplicitlyConvertibleTo(ienumerableOf, conversionRule);
 }