I am migrating a java application from Java7 to Java8. The existing code compiles and runs fine with Java7 but not with Java8. It is basically giving me this ERROR:
incompatible types: inference variable E has incompatible upper bounds java.lang.Enum
Below is the method which results in Compilation Error:
public static <E extends Enum<E>> E checkAndConvertEnum(Class<E> enumClass, String valueToConvert)
{
    checkMandatory(Class.class, enumClass);
    Pair<E, ClassB> value= checkAndConvertEnumInternally(enumClass, valueToConvert);
}
private static <E extends Enum<E>> Pair<E, ClassB> internCheckAndConvertEnum(Class<E> enumClass,
            String valueToConvert) {
        if (null != valueToConvert) {
            // --- First try it with the enum-literal
            try {
                E result = Enum.valueOf(enumClass, valueToConvert);
                if (null != result) {
                    return new Pair<E, ClassB>(result, null);
                } // --- end_if
            } catch (Exception ignore) {
            }
return new Pair<E, ClassB>(null, new Incident(GlobalErrCodes.CANNOT_CONVERT_ENUM,
                enumClass.getSimpleName(), valueToConvert));
}
Any help in this regard would help. Thanks in Advance!
 
    