public static void processIndexOnUpdate(ODatabaseDocumentInternal database, ODocument iDocument, List<IndexChange> changes) { final OImmutableClass cls = ODocumentInternal.getImmutableSchemaClass(database, iDocument); if (cls == null) { return; } final Collection<OIndex<?>> indexes = cls.getRawIndexes(); if (!indexes.isEmpty()) { final Set<String> dirtyFields = new HashSet<>(Arrays.asList(iDocument.getDirtyFields())); if (!dirtyFields.isEmpty()) for (final OIndex<?> index : indexes) { processIndexUpdate(iDocument, dirtyFields, getTransactionalIndex(database, index), changes); } } }