def find_users(*criteria)
      criteria.collect do |criteria_group|
        unless Hash === criteria_group
          criteria_group = { :username => criteria_group.to_s }
        end
        props = criteria_group.keys.select { |k|
          Aker::User.instance_methods.include?(k.to_s) || # for 1.8.7
          Aker::User.instance_methods.include?(k.to_sym)  # for 1.9.1
        }
        if props.empty?
          []
        else
          @users.values.select do |user|
            props.inject(true) { |result, prop| result && user.send(prop) == criteria_group[prop] }
          end
        end
      end.flatten.uniq
    end
def find_users(*criteria)
      criteria.collect do |criteria_group|
        unless Hash === criteria_group
          criteria_group = { :username => criteria_group.to_s }
        end
        props = criteria_group.keys.select { |k|
          Aker::User.instance_methods.include?(k.to_s) || # for 1.8.7
          Aker::User.instance_methods.include?(k.to_sym)  # for 1.9.1
        }
        if props.empty?
          []
        else
          @users.values.select do |user|
            props.inject(true) { |result, prop| result && user.send(prop) == criteria_group[prop] }
          end
        end
      end.flatten.uniq
    end
Returns the any users which match the given criteria from the
 set that have been loaded with {#load!}, {#valid_credentials!},
 and {#user}.

 @param [Array<Hash,#to_s>] criteria as described in
   {Composite#find_users}.
 @return [Array<Aker::User>]