/**
   * Checks whether or not given class should be excluded from marshalling.
   *
   * @param cls Class to check.
   * @return {@code true} if class should be excluded, {@code false} otherwise.
   */
  public static boolean isExcluded(Class<?> cls) {
    assert cls != null;

    for (Class<?> c : INCL_CLASSES) {
      if (c.isAssignableFrom(cls)) {
        return false;
      }
    }

    for (Class<?> c : EXCL_CLASSES) {
      if (c.isAssignableFrom(cls)) {
        return true;
      }
    }

    return false;
  }