int[] inverse = locksFields(type); for (int i = 0; i < inverse.length; i++) { if (klass.equals(type[inverse[i]].getReturnedClass().getName()))
Locks inverse = locksHolder.get(k); for (int i = 0; i < inverse.size(); i++) {  if (!inverse.include(i)) continue;      if (inverse.hasSubtypes(i))
	private String[][] lockedByFields( String klass, Map<String,ClassMetadata> m ) 	{		if ( m == null ) 			throw new InternalException( "ClassMetadata map cannot be null." );				List<String[]> fields = new ArrayList<String[]>();				for (String k : m.keySet()) {			ClassMetadata cm = m.get( k );			Type[] type = cm.getPropertyTypes();			String[] names = cm.getPropertyNames();			int[] inverse = locksFields(type);			for (int i = 0; i < inverse.length; i++) 			{				if (klass.equals(type[inverse[i]].getReturnedClass().getName()))				{					fields.add(new String[]{k,names[inverse[i]]});				}			}		}		return fields.toArray(new String[fields.size()][2]);	}