code: private Class<? extends ResultSet> getResultSetType(ResultSet resultSet) {
          Class<? extends ResultSet> resultSetType;
          if (resultSet instanceof RowSet) {
              if (resultSet instanceof CachedRowSet) {
                  if (resultSet instanceof WebRowSet) {
                      if (resultSet instanceof FilteredRowSet) {
                          resultSetType = FilteredRowSet.class;
                      } else if (resultSet instanceof JoinRowSet) {
                          resultSetType = JoinRowSet.class;
                      } else {
                          resultSetType = WebRowSet.class;
                      }
                  } else {
                      resultSetType = CachedRowSet.class;
                  }
              } else if (resultSet instanceof JdbcRowSet) {
                  resultSetType = JdbcRowSet.class;
              } else {
                  resultSetType = RowSet.class;
              }
          } else {
              resultSetType = ResultSet.class;
          }
          return resultSetType;
      }
docs: Determine the interface implemented by this result set
  
  @param resultSet Result set