class IndexMatch implements WritableComparable<IndexMatch> {

    @Override
    public boolean equals(Object obj) {
        if (null == obj)
            return false;
        if (obj instanceof IndexMatch) {
            IndexMatch other = (IndexMatch) obj;
            
            if (!uid.equals(other.uid))
                return false;
            
            return nodeSet.equals(other.nodeSet);
        }
        return false;
    }

    public  IndexMatch(final String uid);
    protected  IndexMatch();
    public  IndexMatch(final String uid, final JexlNode myNode);
    public  IndexMatch(final String uid, final JexlNode myNode, final String shard);
    public  IndexMatch(final String uid, final JexlNode myNode, final IndexMatchType type);
    public  IndexMatch(Set<JexlNode> nodes, String uid, final IndexMatchType type);

}