code: private void processFilterData() throws IOException
     {
        DirectoryEntry dir = (DirectoryEntry) m_viewDir.getEntry("CFilter");
  
        FixedMeta fixedMeta;
        FixedData fixedData;
        VarMeta varMeta;
        Var2Data varData;
  
        try
        {
           fixedMeta = new FixedMeta(new DocumentInputStream(((DocumentEntry) dir.getEntry("FixedMeta"))), 10);
           fixedData = new FixedData(fixedMeta, m_inputStreamFactory.getInstance(dir, "FixedData"));
           varMeta = new VarMeta12(new DocumentInputStream(((DocumentEntry) dir.getEntry("VarMeta"))));
           varData = new Var2Data(varMeta, new DocumentInputStream(((DocumentEntry) dir.getEntry("Var2Data"))));
        }
  
        catch (IndexOutOfBoundsException ex)
        {
           // From a sample file where the stream reports an available number of bytes
           // but attempting to read that number of bytes raises an exception.
           return;
        }
  
        catch (IOException ex)
        {
           // I've come across an unusual sample where the VarMeta magic number is zero, which throws this exception.
           // MS Project opens the file fine. If we get into this state, we'll just ignore the filter definitions.
           return;
        }
  
        //System.out.println(fixedMeta);
        //System.out.println(fixedData);
        //System.out.println(varMeta);
        //System.out.println(varData);
  
        FilterReader reader = new FilterReader14();
        reader.process(m_file.getProjectProperties(), m_file.getFilters(), fixedData, varData);
     }
docs: Read filter definitions.
  
  @throws IOException