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; }