used Strings.EMPTY_ARRAY whenever possible
switched requestedIndices return type from String[] to Set<String>, improved the api to make sure and document that duplicates are not returned