code: public GISModel getModel () throws java.io.IOException {
          checkModelType();
          int correctionConstant = getCorrectionConstant();
          double correctionParam = getCorrectionParameter();
          String[] outcomeLabels = getOutcomes();
          int[][] outcomePatterns = getOutcomePatterns();
          String[] predLabels = getPredicates();
          Context[] params = getParameters(outcomePatterns);
   	
          return new GISModel(params,
                              predLabels,
                              outcomeLabels,
                              correctionConstant,
                              correctionParam);
  
      }
docs: Retrieve a model from disk. It assumes that models are saved in the
  following sequence:
  
  <br>GIS (model type identifier)
  <br>1. # of parameters (int)
  <br>2. the correction constant (int)
  <br>3. the correction constant parameter (double)
  <br>4. # of outcomes (int)
  <br>  * list of outcome names (String)
  <br>5. # of different types of outcome patterns (int)
  <br>   * list of (int int[])
  <br>   [# of predicates for which outcome pattern is true] [outcome pattern]
  <br>6. # of predicates (int)
  <br>   * list of predicate names (String)
  
  <p>If you are creating a reader for a format which won't work with this
  (perhaps a database or xml file), override this method and ignore the
  other methods provided in this abstract class.
  
  @return The GISModel stored in the format and location specified to
  this GISModelReader (usually via its the constructor).