code: private ProjectFile handleByteOrderMark(InputStream stream, int length, Charset charset) throws Exception
     {
        UniversalProjectReader reader = new UniversalProjectReader();
        reader.setSkipBytes(length);
        reader.setCharset(charset);
        return reader.read(stream);
     }
docs: The file we are working with has a byte order mark. Skip this and try again to read the file.
  
  @param stream schedule data
  @param length length of the byte order mark
  @param charset charset indicated by byte order mark
  @return ProjectFile instance