* @param in The <code>Repository</code> with all the data
* @param focus The <code>Resource</code> to resolve
* @return A <code>PropertySet</code> of properties to select.
*/
protected PropertySet resolvePropertySet(Lens lens, Repository in, Resource focus) {
PropertySet properties = new PropertySet();
PropertySet hide = lens.getHideProperties();
PropertySet show = lens.getShowProperties();
if (show.seenAllProperties()) {
try {
RepositoryConnection conn = in.getConnection();
RepositoryResult<Statement> focusProperties = conn.getStatements(focus, (URI) null, (Value) null, true);
RepositoryResult<Statement> focusPropertiesInverse = conn.getStatements(null, (URI) null, focus, true);
Iterator<ISelector> showPSI = show.iterator();
while (showPSI.hasNext()) {
ISelector selector = showPSI.next();
if (AllPropertiesSelector.isAllProperties(selector)) {
// get all properties and check if in hidden properties
while (focusProperties.hasNext() || focusPropertiesInverse.hasNext()) {