@Override
  public String getDataServiceVersion() throws ODataException {
    if (schemas == null) {
      schemas = edmProvider.getSchemas();
    }

    if (dataServiceVersion == null) {
      dataServiceVersion = ODataServiceVersion.V10;

      for (Schema schema : listOrEmptyList(schemas)) {
        List<EntityType> entityTypes = listOrEmptyList(schema.getEntityTypes());
        for (EntityType entityType : entityTypes) {
          List<Property> properties = listOrEmptyList(entityType.getProperties());
          for (Property property : properties) {
            if (property.getCustomizableFeedMappings() != null) {
              if (property.getCustomizableFeedMappings().getFcKeepInContent() != null) {
                if (!property.getCustomizableFeedMappings().getFcKeepInContent()) {
                  dataServiceVersion = ODataServiceVersion.V20;
                  return dataServiceVersion;
                }
              }
              if (entityType.getCustomizableFeedMappings() != null) {
                if (entityType.getCustomizableFeedMappings().getFcKeepInContent() != null) {
                  if (entityType.getCustomizableFeedMappings().getFcKeepInContent()) {
                    dataServiceVersion = ODataServiceVersion.V20;
                    return dataServiceVersion;
                  }
                }
              }
            }
          }
        }
      }
    }
    return dataServiceVersion;
  }