code: public static <T extends IDeepType> Object getId(T t)
              throws IllegalAccessException, InstantiationException, InvocationTargetException {
          Field[] fields = AnnotationUtils.filterDeepFields(t.getClass());
  
          for (Field field : fields) {
              if (MONGO_DEFAULT_ID.equals(AnnotationUtils.deepFieldName(field))) {
                  return Utils.findGetter(field.getName(), t.getClass()).invoke(t);
              }
  
          }
  
          return null;
      }
docs: returns the id value annotated with @DeepField(fieldName = "_id")
  
  @param t an instance of an object of type T to convert to BSONObject.
  @return the provided object converted to Object.
  @throws IllegalAccessException the illegal access exception
  @throws IllegalAccessException the instantiation exception
  @throws IllegalAccessException the invocation target exception