public FreerailsSerializable get(KEY key, int index, FreerailsPrincipal p) { if (key.shared) { return (FreerailsSerializable)lists[key.getKeyNumber()].get(index); }  return (FreerailsSerializable)((ArrayList)lists[key.getKeyNumber()].get(getPlayerIndex( p))).get(index);
public FreerailsSerializable get(KEY key, int index) { return get(key, index, Player.NOBODY);
    public FreerailsSerializable get(KEY key, int index, FreerailsPrincipal p) {        if (key.shared) {            return (FreerailsSerializable)lists[key.getKeyNumber()].get(index);        }        return (FreerailsSerializable)((ArrayList)lists[key.getKeyNumber()].get(getPlayerIndex(                p))).get(index);    }