### Question:
Selectors { public static String textAt(JsonNode node, JsonPointer pointer) { node = dereference(node, pointer); if (!node.isTextual()) { throw new WrongTypeException(pointer, "not a string"); } return node.asText(); }  static String textAt(JsonNode node, JsonPointer pointer); static Optional<String> optionalTextAt(JsonNode node, JsonPointer pointer); static int integerAt(JsonNode node, JsonPointer pointer); static long longAt(JsonNode node, JsonPointer pointer); static OptionalInt optionalIntegerAt(JsonNode node, JsonPointer pointer); static Iterable<? extends JsonNode> listAt(JsonNode node, JsonPointer pointer); static List<String> textListAt(JsonNode node, JsonPointer pointer); static Map<String, String> propertiesAt(JsonNode node, JsonPointer pointer); static Map<String, Long> longPropertiesAt(JsonNode node, JsonPointer pointer);  }### Answer:
@Test public void textAt() { ObjectNode node = newObject(); node.put("foo", "bar"); String value = Selectors.textAt(node, FOO_FIELD); assertThat(value, is("bar")); }