code: protected static SpecTopic transformSpecTopic(final CSNodeWrapper node, final Map<Integer, Node> nodes,
              final Map<String, SpecTopic> targetTopics, final List<CSNodeWrapper> relationshipFromNodes) {
          if (node.getNodeType() != CommonConstants.CS_NODE_TOPIC) {
              throw new IllegalArgumentException("The passed node is not a Spec Topic");
          }
  
          return transformSpecTopicWithoutTypeCheck(node, nodes, targetTopics, relationshipFromNodes);
      }
docs: Transform a Topic CSNode entity object into a SpecTopic Object that can be added to a Content Specification.
  
  @param node                  The CSNode entity object to be transformed.
  @param nodes                 A mapping of node entity ids to their transformed counterparts.
  @param targetTopics          A mapping of target ids to SpecTopics.
  @param relationshipFromNodes A list of CSNode entities that have relationships.
  @return The transformed SpecTopic entity.