private synchronized Object[] stateid(Object... extra) { Object[] ret = new Object[layers.size() + extra.length]; for (int i = 0; i < layers.size(); i++) { Sprite spr = sprites.get(layers.get(i)); if (spr == null) ret[i] = null; else ret[i] = spr.stateid(); } for (int i = 0; i < extra.length; i++) ret[i + layers.size()] = extra[i]; return (ArrayIdentity.intern(ret)); }