public boolean isReturnable(final Node node) {
   if (node.isIgnored()) {
     return returnIgnoredNodes;
   } else if (node.isCircular()) {
     return returnCircularNodes;
   } else if (node.isUntouched()) {
     if (node.hasChanges()) {
       return true;
     } else if (node.hasChildren()) {
       return true;
     }
     return returnUnchangedNodes;
   }
   return true;
 }
 public boolean isIgnored(final Node node) {
   return node.isIgnored() || !isIncluded(node) || isExcluded(node);
 }