fields.add(new String[]{k,names[inverse[i]]});
for (int j = 0; j < inverse.numberOfSubtypes(i); j++) { if (inverse.subtypeEquals(i, j, klass)) { fields.add(new String[]{k,inverse.subtypeName(i,j)}); } } }   else if (klass.equals(type[i].getReturnedClass().getName())) { fields.add(new String[]{k,names[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]);	}