code: @Override
      public void checkNested(final Statement statement) throws SemanticWarning {
          // Ignore non-nested statements
          if (!statement.hasNestedStatement()) {
              return;
          }
  
          final RelationshipType relationship = statement.getRelationshipType();
          // No relationship? Ignore it, this is a different semantic check
          if (relationship == null) {
              return;
          }
  
          // Nested statement is causal, gold star for you
          if (relationship.isCausal()) {
              return;
          }
  
          // Try to provide context for where the warning is
          final StringBuilder bldr = new StringBuilder();
          bldr.append("Nested statement with non-causal relationship ");
          bldr.append(relationship);
  
          final String err = SEMANTIC_NESTED_REQUIRE_CAUSAL;
          final String name = bldr.toString();
          throw new SemanticWarning(name, err);
      }
docs: {@inheritDoc}