class OMultiKey {

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

        final OMultiKey oMultiKey = (OMultiKey) o;

        if(keys.size() != oMultiKey.keys.size())
            return false;

        for (final Object inKey : keys) {
            if (!oMultiKey.keys.contains(inKey))
                return false;
        }
        return true;
    }

    public  OMultiKey(final Collection<?> keys);

}