code: public void ensureNavigationProperties(StructuredType entityType) throws ODataException {
          List<String> missingNavigationPropertyNames = new ArrayList<>();
  
          entityType.getStructuralProperties().stream().filter(property -> (property instanceof NavigationProperty)
                  && !property.isNullable()).forEach(property -> {
              LOG.debug("Validating non-nullable NavigationProperty property : {}", property.getName());
              if (!links.containsKey(property.getName())) {
                  missingNavigationPropertyNames.add(property.getName());
              }
          });
          if (missingNavigationPropertyNames.size() != 0) {
              StringJoiner joiner = new StringJoiner(",");
              missingNavigationPropertyNames.forEach(joiner::add);
              throw new ODataUnmarshallingException("The request does not specify the navigation links for '"
                      + joiner.toString() + ".");
          }
      }
docs: Ensure that non nullable navigation properties are present.
  
  @param entityType entityType
  @throws ODataException If unable to ensure navigation properties are present