docs: @SuppressWarnings("unchecked")
      public static <T> T castObject(final Object castObject,
                                     final Class<T> fieldType) {
          if(fieldType == null)
              return null;
  
          final boolean isTypeString = fieldType.equals(String.class);
          if(castObject == null) {
              return (isTypeString)
                      ? ((T) "null")
                      : null;
          }
  
          final Class<?> castType         = castObject.getClass();
          final boolean isTypeAssignable  = fieldType.isAssignableFrom(castType);
          final boolean isTypeEquals      = areEquals(castType, fieldType);
          final boolean isTypeObject      = fieldType.equals(Object.class);
  
          return castObject(castObject, fieldType,
                  isTypeAssignable, isTypeEquals,
                  isTypeObject, isTypeString);
      }