public String externalize(ExternalizedResource extInfo) { String identifier = (String)reverseExternalized.get(extInfo);  if (identifier == null) { identifier = createIdentifier(); extInfo.setId(identifier);  storeExternalizedResource(identifier, extInfo); reverseExternalized.put(extInfo, identifier);  String extension = extInfo.getExtension(); if (extension != null) identifier += ("." + extension);  }  return identifier + sessionEncoding;
public String externalize(Object obj, Externalizer externalizer) { return externalize(obj, externalizer, SESSION);
    public String externalize(ExternalizedResource extInfo) {        String identifier = (String)reverseExternalized.get(extInfo);        if (identifier == null) {            identifier = createIdentifier();            extInfo.setId(identifier);                        storeExternalizedResource(identifier, extInfo);            reverseExternalized.put(extInfo, identifier);            String extension = extInfo.getExtension();            if (extension != null)                identifier += ("." + extension);        }        return identifier + sessionEncoding;    }