### Question:
Utils { static int calculateSize(Document document) { ByteBuf buffer = Unpooled.buffer(); try { BsonEncoder.encodeDocument(document, buffer); return buffer.writerIndex(); } catch (RuntimeException e) { throw new MongoServerException("Failed to calculate document size", e); } finally { buffer.release(); } }  static Object getSubdocumentValue(Document document, String key); static Object getSubdocumentValueCollectionAware(Document document, String key); static String getDatabaseNameFromFullName(String fullName); static String getCollectionNameFromFullName(String fullName); static boolean isTrue(Object value); static Number normalizeNumber(Number value); static void markOkay(Document result); static String join(List<?> values, String delimiter); static void changeSubdocumentValue(Object document, String key, Object newValue); static void validateFieldNames(Document document); static Object removeSubdocumentValue(Object document, String key); static String describeType(Object value); static String joinTail(List<String> pathFragments); static String firstFragment(String input); static List<String> splitPath(String input); static String getShorterPathIfPrefix(String path1, String path2); static List<String> collectCommonPathFragments(String path1, String path2); static String getHostName(); static void copySubdocumentValue(Document input, Document result, String key); static final String PATH_DELIMITER; }### Answer:
@Test void testCalculateSize() throws Exception { assertThat(Utils.calculateSize(new Document())).isEqualTo(5); assertThat(Utils.calculateSize(new Document("_id", 7))).isEqualTo(14); }