throw new IllegalStateException();
result[0] = table(s.getObjectMap());
    static String table(Mapping m) {        if (m.getRetrieve() != null) {            return table(m.getMap());        }        if (isStaticAttribute(m)) {            return null;        }        final String[] result = new String[] { null };        m.dispatch(new Mapping.Switch() {            public void onValue(Value v) {                result[0] = v.getTable().getName();            }            public void onJoinTo(JoinTo j) {                result[0] = j.getTable().getName();            }            public void onJoinFrom(JoinFrom j) {                result[0] = j.getKey().getTable().getName();            }            public void onJoinThrough(JoinThrough jt) {                result[0] = jt.getFrom().getTable().getName();            }            public void onStatic(Static s) {                throw new IllegalStateException();            }            public void onNested(Nested n) {                throw new Error("nested map");            }        });        return result[0];    }