System.err.println("xxx"); for (String id : types.keySet()) { System.err.println(id); }
    public Set<SemanticType> process(){    	for (String id : types.keySet()) {    					// "ome...Pixels"			SemanticType t = types.get(id);						// Pixels			for (Property p : t.getProperties()) {				// thumbnails				String rev = p.getType();						// "ome...Thumbnail"				String inv = p.getInverse();					// "pixels"				if ( inv != null )				{					if (types.containsKey(rev))					{						SemanticType reverse = types.get(rev);		// Thumbail						for (Property inverse : reverse.getProperties()) {							if ( inverse.getType().equals(id)) {	// "ome...Pixels"								inverse.setInverse(p.getName());							}						}					}				}			}		}    	System.err.println("xxx");    	for (String id : types.keySet()) {			System.err.println(id);		}        return new HashSet<SemanticType>(types.values());    }