@Override
        public boolean equals(final Object o)
        {
            if (this == o) { return true; }
            if (o == null || getClass() != o.getClass()) { return false; }

            final Node node = (Node) o;

            if (!createdOn.equals(node.createdOn)) { return false; }
            if (!lastModifiedOn.equals(node.lastModifiedOn)) { return false; }
            if (!name.equals(node.name)) { return false; }
            if (parent != null ? !parent.equals(node.parent) : node.parent != null) { return false; }
            if (!size.equals(node.size)) { return false; }
            return type == node.type;

        }