private LinkedList <Migration> getMigrationList () {
        File migrationDir;
        try {
            migrationDir = new File (Tatoo.class.getResource ("/tatoo/db/migrate").toURI ());
        }
        catch (URISyntaxException e) {
            e.printStackTrace ();
            migrationDir = null;
        }
        // File migrationDir = new File("./tatoo/db/migrate");
        if (migrationDir != null) {
            migrationDir.exists ();
            LinkedList <Migration> migrationList = new LinkedList <Migration> ();
            // TODO muss noch auf list(FileNameFilter f ) umgestellt werden.
            for (File f : migrationDir.listFiles ()) {
                String fileName = f.getName ();

                if ( !(fileName.endsWith (".java") || fileName.endsWith (".class"))) {
                    continue;
                }

                fileName = "tatoo.db.migrate." + fileName.substring (0, fileName.lastIndexOf ('.'));
                Migration migration = null;

                try {
                    migration = (Migration) Class.forName (fileName).newInstance ();
                }
                catch (ClassNotFoundException e) {
                    e.printStackTrace ();
                }
                catch (InstantiationException e) {
                    e.printStackTrace ();
                }
                catch (IllegalAccessException e) {
                    e.printStackTrace ();
                }

                if (migration != null) {
                    migrationList.add (migration);
                }
            }
            Collections.sort (migrationList);
            return migrationList;
        }
        else {
            return null;
        }
    }