code: private boolean canScanNode(StructuralNode node) {
          if (node == null) {
              if (log.isDebugEnabled()) {
                  log.debug("Ignoring null node");
              }
              return false;
          }
  
          HistoryReference hRef = node.getHistoryReference();
          if (hRef == null) {
              if (log.isDebugEnabled()) {
                  log.debug("Ignoring null history reference for node: " + node.getName());
              }
              return false;
          }
  
          if (HistoryReference.TYPE_SCANNER == hRef.getHistoryType()) {
              if (log.isDebugEnabled()) {
                  log.debug("Ignoring \"scanner\" type href [id=" + hRef.getHistoryId() + ", URL=" + hRef.getURI() + "]");
              }
              return false;
          }
  
          if (!nodeInScope(node.getName())) {
              if (log.isDebugEnabled()) {
                  log.debug("Ignoring node not in scope: " + node.getName());
              }
              return false;
          }
  
          return true;
      }
docs: Tells whether or not the scanner can scan the given node.
  <p>
  A node must not be null, must contain a valid HistoryReference and be in scope.
  
  @param node the node to be checked
  @return {@code true} if the node can be scanned, {@code false} otherwise.