/** * Returns a set of authority codes that <strong>may</strong> identify the same object than the * specified one. The returned set must contains the code of every objects that are {@linkplain * CRS#equalsIgnoreMetadata equals, ignoring metadata}, to the specified one. However the set is * not required to contains only the codes of those objects; it may conservatively contains the * code for more objects if an exact search is too expensive. * * <p>This method is invoked by the default {@link #find find} method implementation. The caller * may iterates through every returned codes, instantiate the objects and compare them with the * specified one in order to determine which codes are really applicable. * * <p>The default implementation returns the same set than <code> * {@linkplain AuthorityFactory#getAuthorityCodes getAuthorityCodes}(type)</code> where {@code * type} is the interface specified at construction type. Subclasses should override this method * in order to return a smaller set, if they can. * * @param object The object looked up. * @return A set of code candidates. * @throws FactoryException if an error occured while fetching the set of code candidates. */ protected Set /*<String>*/ getCodeCandidates(final IdentifiedObject object) throws FactoryException { return getProxy().getAuthorityCodes(); }