@Override
    public AbstractPerson get(String login, String password) throws DaoException {
        AbstractPerson person = null;
        Connection connection = null;
        ResultSet rs = null;
        PreparedStatement ps = null;
        try {
            connection = dataSource.getConnection();
            ps = connection.prepareStatement(SELECT_FROM_PERSONS_BY_LOGIN_PASSWORD);
            ps.setString(1, login);
            ps.setString(2, password);
            rs = ps.executeQuery();
            if (rs.next()) {
                if ("ADMIN".equals(rs.getString("access_level"))) {
                    return extractAdmin(rs);
                }
                if ("CLIENT".equals(rs.getString("access_level"))) {
                    return extractClient(rs);
                }
            }
        } catch (SQLException e) {
            throw new DaoException(); // TODO: Add discription of Exception
        } finally {
            closeConection(connection, rs, ps);
        }
        return person;
    }