class Comment extends Referenceable {

    @Override
    public boolean equals(Object objectToCompare)
    {
        if (this == objectToCompare)
        {
            return true;
        }
        if (!(objectToCompare instanceof Comment))
        {
            return false;
        }
        if (!super.equals(objectToCompare))
        {
            return false;
        }
        Comment comment = (Comment) objectToCompare;
        return getCommentType() == comment.getCommentType() &&
                Objects.equals(getCommentText(), comment.getCommentText()) &&
                Objects.equals(isPublic(), comment.isPublic()) &&
                Objects.equals(getUser(), comment.getUser());
    }

    public  Comment();
    public  Comment(Comment template);

}