public static FbxFile readFBX(InputStream stream) throws IOException {
        FbxFile fbxFile = new FbxFile();
        // Read the file to a ByteBuffer, so we can determine positions in the file.
        ByteBuffer byteBuffer = readToByteBuffer(stream);
        try {
            stream.close();
        } catch(IOException e) {
        }
        // Check magic header
        byte[] magic = getBytes(byteBuffer, HEAD_MAGIC.length);
        if(!Arrays.equals(HEAD_MAGIC, magic))
            throw new IOException("Either ASCII FBX or corrupt file. "
                                            + "Only binary FBX files are supported");

        // Read version
        fbxFile.version = getUInt(byteBuffer);
        // Read root elements
        while(true) {
            FbxElement e = readFBXElement(byteBuffer, fbxFile);
            if(e == null)
                break;
            fbxFile.rootElements.add(e);
        }
        return fbxFile;
    }
A private constructor to inhibit instantiation of this class.
jme3-plugins/src/fbx/java/com/jme3/scene/plugins/fbx/file/FbxReader.java