private void preLoadFeaturesIntoFESVo()
    {
        Feature [] features;
        
        // set of prop_val of required features:
        Set<Integer> propVals = new HashSet<Integer>();
        for (int id : this.requiredIDs){
            propVals.add(this.horizonsSourceIDs.get(id));
        }
        
        // [9/10/2012] check if only require to load the selected TS:
        if (this.loadOnlySelectedTimestamp){
            features = this.dbConnection[0].getAllHorizonsOnlyAtTS(
                    this.srdsSource.srdsSrcID, this.featuresTimestamp, propVals);
        }
        
        else{
            // get all horizons from DB till selected TS:
            features = this.dbConnection[0].getAllHorizons(
                    this.srdsSource.srdsSrcID, this.featuresTimestamp, propVals);
        }
        
        // loop through features:
        for (Feature f : features)
        {
            // calculate local point at LOD0 for this feature:
            Point p = FESVo.mapToLocalPoint(f.geoTag.getPoint());
            
            
            // point-tag id (FESVo ID):
            // ------------------------
            int pointTagID = -1; // -1 => not found yet
            
            // get all horizons FESVo IDs
            Set<Integer> fesvoIDs = this.horizonsSourceIDs.keySet();
            
            // go through each FESVo ID to check if it's mapped to the feature's ID (prop_val)
            for (int id : fesvoIDs){
                if (this.horizonsSourceIDs.get(id).equals(f.geoTag.sourceID)){
                    pointTagID = id;
                    break;
                }
            }
            
            // if point tag id was not found, then it's an error:
            if (pointTagID == -1){
                System.err.println("Point Tag ID was not found!!");
                this.closeConnections();
                System.exit(0);
            }
            
            // load feature into FESVo:
            FESVo.putHorizon(f, new PointTag(p, pointTagID), 0);
            
        }//for
        
        this.featuresLoadedIntoFESVo = true;
    }//loadFeaturesIntoFESVo()