protected void printFeatures(FSTNode node, boolean start) {

      if (node.getType().equals("CompilationUnit") || !coveredByParent(node, node.getParent())) {
        if (start) printToken(startIfdef(FeatureExpressions.get(node)));
        else printToken(endIfdef(FeatureExpressions.get(node)));
      }
    }
 private boolean coveredByParent(FSTNode node, FSTNode parent) {
   if (GuidslFileLoader.featureModel.checkCondition(
       new Implies(FeatureExpressions.get(parent), FeatureExpressions.get(node)))) return true;
   if (parent.getParent() != null) return coveredByParent(node, parent.getParent());
   return false;
 }