private void validateNodeProperties( long id, PrimitiveIntSet labelIds, PrimitiveIntSet propertyKeyIds ) throws NodePropertyExistenceException { if ( labelIds.size() > mandatoryNodePropertiesByLabel.size() ) { for ( PrimitiveIntIterator labels = mandatoryNodePropertiesByLabel.iterator(); labels.hasNext(); ) { int label = labels.next(); if ( labelIds.contains( label ) ) { validateNodeProperties( id, label, mandatoryNodePropertiesByLabel.get( label ), propertyKeyIds ); } } } else { for ( PrimitiveIntIterator labels = labelIds.iterator(); labels.hasNext(); ) { int label = labels.next(); int[] keys = mandatoryNodePropertiesByLabel.get( label ); if ( keys != null ) { validateNodeProperties( id, label, keys, propertyKeyIds ); } } } }