### Question:
Node implements PatternElement, PropertyContainer, ExposesRelationships<Relationship>, ExposesProperties<Node> { static Node create(String primaryLabel, String... additionalLabels) { return create(primaryLabel, null, additionalLabels); } private  Node(String primaryLabel, Properties properties, String... additionalLabels); private  Node(SymbolicName symbolicName, Properties properties, List<NodeLabel> labels); Node named(String newSymbolicName); Node named(SymbolicName newSymbolicName); @Override Node withProperties(MapExpression newProperties); @Override Node withProperties(Object... keysAndValues); @Override Property property(String name); MapProjection project(List<Object> entries); MapProjection project(Object... entries); Optional<SymbolicName> getSymbolicName(); @Override SymbolicName getRequiredSymbolicName(); FunctionInvocation internalId(); FunctionInvocation labels(); @Override Relationship relationshipTo(Node other, String... types); @Override Relationship relationshipFrom(Node other, String... types); @Override Relationship relationshipBetween(Node other, String... types); Condition hasLabels(String... labelsToQuery); @Override void accept(Visitor visitor); @Override String toString(); Condition isEqualTo(Node otherNode); Condition isNotEqualTo(Node otherNode); Condition isNull(); Condition isNotNull(); SortItem descending(); SortItem ascending(); AliasedExpression as(String alias);  }### Answer:
@Test void preconditionsShouldBeAsserted() { String expectedMessage = "A primary label is required."; assertThatIllegalArgumentException().isThrownBy(() -> Node.create("")).withMessage(expectedMessage); assertThatIllegalArgumentException().isThrownBy(() -> Node.create(" \t")).withMessage(expectedMessage); }
@Test void shouldNotAddEmptyAdditionalLabels() { assertThatIllegalArgumentException().isThrownBy(() -> Node.create("primary", " ", "\t ")) .withMessage("An empty label is not allowed."); }