code: public BsonDocument asDocument() {
          BsonDocument collation = new BsonDocument();
          if (locale != null) {
              collation.put("locale", new BsonString(locale));
          }
          if (caseLevel != null) {
              collation.put("caseLevel", new BsonBoolean(caseLevel));
          }
          if (caseFirst != null) {
              collation.put("caseFirst", new BsonString(caseFirst.getValue()));
          }
          if (strength != null) {
              collation.put("strength", new BsonInt32(strength.getIntRepresentation()));
          }
          if (numericOrdering != null) {
              collation.put("numericOrdering", new BsonBoolean(numericOrdering));
          }
          if (alternate != null) {
              collation.put("alternate", new BsonString(alternate.getValue()));
          }
          if (maxVariable != null) {
              collation.put("maxVariable", new BsonString(maxVariable.getValue()));
          }
          if (normalization != null) {
              collation.put("normalization", new BsonBoolean(normalization));
          }
          if (backwards != null) {
              collation.put("backwards", new BsonBoolean(backwards));
          }
          return collation;
      }
docs: Gets this collation options as a document.
  
  @return The collation options as a BsonDocument