private <T> List<T> executeConditions(String indexName, Object indexStart,
Object indexEnd, Boolean inclusive, Object key, Class<T> bean,
Session session, QueryBean byKeyBean) {
ClassInformation classInformation = ClassInformations.INSTACE.getClass(bean);
super.prepare(byKeyBean, classInformation);
if (classInformation.isComplexKey()) {
for (FieldInformation complexKey : classInformation
.getKeyInformation().getSubFields().getFields()) {
byKeyBean.getSelect().where(QueryBuilder.eq(complexKey.getName(),
ReflectionUtil.INSTANCE.getMethod(key, complexKey.getField())));
}
} else {
byKeyBean.getSelect().where(QueryBuilder.eq(
classInformation.getKeyInformation().getName(), key));
}
// Add index criteria
byKeyBean.setSearchField(classInformation.findIndexByName(indexName));
FindByIndexQuery.checkIndexProblem(bean, byKeyBean);
// Add indexed key
if (indexEnd != null && inclusive != null) {