private static CCNode processData(final String nodeData,
            final String nodePosData)
            throws NodeDataLengthException, NodeDataException {
        CCNode node = new CCNode();
        String[] nodeNameData = nodeData.split("\\s");
        String[] nodePositionData = nodePosData.split("\\s");
        /**
         * Check if both have valid length
         */
        if (nodeNameData.length != NODE_NAME_DATA_LENGTH
                || nodePositionData.length != NODE_POSITION_DATA_LENGTH) {
            throw new NodeDataLengthException();
        }
        /**
         * Check if both data are for the same node if so set the id, else throw
         * exception.
         */
        if (nodeNameData[0].equals(nodePositionData[NODE_ID_INDEX])) {
            node.setNodeId(Integer.parseInt(nodeNameData[NODE_ID_INDEX]));
        } else {
            throw new NodeDataException();
        }
        node.setNodeName(nodeNameData[NODE_NAME_INDEX]);
        node.setParentNodeId(Integer.parseInt(
                nodeNameData[PARENT_NODE_ID_INDEX]));

        /**
         * Set position data
         */
        node.setPosX(Double.parseDouble(nodePositionData[POSITION_X_INDEX]));
        node.setPosY(Double.parseDouble(nodePositionData[POSITION_Y_INDEX]));
        node.setPosZ(Double.parseDouble(nodePositionData[POSITION_Z_INDEX]));
        /**
         * Set normal data
         */
        node.setNormX(Double.parseDouble(nodePositionData[NORM_X_INDEX]));
        node.setNormY(Double.parseDouble(nodePositionData[NORM_Y_INDEX]));
        node.setNormZ(Double.parseDouble(nodePositionData[NORM_Z_INDEX]));
        return node;
    }