Repository: microsoftgraph/msgraph-sdk-java
Issue: GraphError#isError(GraphErrorCodes .ITEM_NOT_FOUND)

### Expected behavior
GraphError#isError should return true when the exception has the code "itemNotFound" and the provided GraphErrorCodes is ITEM_NOT_FOUND

### Actual behavior
It returns false since the strings "ITEM_NOT_FOUND" and "itemNotFound" don't match

### Steps to reproduce the behavior

Make a Microsoft Graph call returning a "itemNotFound" error:

For example, in Graph Explorer (https://developer.microsoft.com/en-us/graph/graph-explorer)
GET https://graph.microsoft.com/v1.0/me/drive/items/NOT_A_REAL_VALUE

Sample exception:
{
    "error": {
        "code": "itemNotFound",
        "message": "The resource could not be found.",
        "innerError": {
            "date": "2021-02-08T09:56:08",
            "request-id": "31395976-ea18-42ee-8f9a-c19d9bbb9987",
            "client-request-id": "420329db-d36f-d313-4191-01b4124b8aa7"
        }
    }
}

SDK Version: 2.6.0

Sample code:
```
 IGraphServiceClient graphClient = <init graph client> ;

try {
     graphClient.me().drive().items("NOT_A_REAL_VALUE").buildRequest().get();
     Assert.fail();
}
catch (GraphServiceException e) {
boolean isItemNotFound = e.getError().error.isError(GraphErrorCodes.ITEM_NOT_FOUND);
        Assert.assertTrue(isItemNotFound);
}
``` 
[AB#8036](https://microsoftgraph.visualstudio.com/0985d294-5762-4bc2-a565-161ef349ca3e/_workitems/edit/8036)

Changed files:
src/test/java/com/microsoft/graph/http/GraphErrorTests.java, src/main/java/com/microsoft/graph/http/GraphError.java

diff --git a/src/main/java/com/microsoft/graph/http/GraphError.java b/src/main/java/com/microsoft/graph/http/GraphError.java
index 78d1f4a733..6ea84a54e2 100644
--- a/src/main/java/com/microsoft/graph/http/GraphError.java
+++ b/src/main/java/com/microsoft/graph/http/GraphError.java
@@ -26,6 +26,7 @@ import com.google.gson.annotations.SerializedName;
 
 import com.microsoft.graph.core.GraphErrorCodes;
 import com.google.gson.annotations.Expose;
+import com.google.common.base.CaseFormat;
 
 public class GraphError {
 
@@ -47,16 +48,24 @@ public class GraphError {
      * @return <b>true</b> if the error code matches, and <b>false</b> if there was no match
      */
     public boolean isError(final GraphErrorCodes expectedCode) {
-        if (code.equalsIgnoreCase(expectedCode.toString())) {
+        if (transformErrorCodeCase(code).equalsIgnoreCase(expectedCode.toString())) {
             return true;
         }
         GraphInnerError innerError = innererror;
         while (null != innerError) {
-            if (innerError.code.equalsIgnoreCase(expectedCode.toString())) {
+            if (transformErrorCodeCase(innerError.code).equalsIgnoreCase(expectedCode.toString())) {
                 return true;
             }
             innerError = innerError.innererror;
         }
         return false;
     }
+    /**
+     * Transforms the text error code into the format expected by the value of the enum
+     * @param original original lowser Camel cased error code
+     * @return the resulting upper undescore cased error code
+     */
+    protected String transformErrorCodeCase(final String original) {
+        return CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, original);
+    }
 }
diff --git a/src/test/java/com/microsoft/graph/http/GraphErrorTests.java b/src/test/java/com/microsoft/graph/http/GraphErrorTests.java
index 0d8087e596..69916c913f 100644
--- a/src/test/java/com/microsoft/graph/http/GraphErrorTests.java
+++ b/src/test/java/com/microsoft/graph/http/GraphErrorTests.java
@@ -15,7 +15,7 @@ public class GraphErrorTests {
 	public void testIsError(){
         String expectedMessage = "test error message";
         GraphError error = new GraphError();
-        error.code = GraphErrorCodes.ACCESS_DENIED.toString();
+        error.code = "accessDenied"; // the code prop is lower camel cased https://docs.microsoft.com/en-us/graph/errors#code-property
         error.message = expectedMessage;
         assertTrue(error.isError(GraphErrorCodes.ACCESS_DENIED));
         assertEquals(expectedMessage, error.message);