@Override public int index(int position, @NonNull T t) { Class<?> userIndexClass = classLinker.index(position, t); for (int i = 0; i < binders.length; i++) { if (binders[i].getClass().equals(userIndexClass)) { return i; } } throw new IndexOutOfBoundsException( String.format("%s is out of your registered binders'(%s) bounds.", userIndexClass.getName(), Arrays.toString(binders)) ); } }