public static AdviceKind read(DataInputStream s) throws IOException {
public static AdviceKind read(VersionedDataInputStream s) throws IOException {
    public static AdviceKind read(DataInputStream s) throws IOException {        int key = s.readByte();        switch(key) {            case 1: return Before;            case 2: return After;            case 3: return AfterThrowing;            case 4: return AfterReturning;            case 5: return Around;            case 6: return CflowEntry;            case 7: return CflowBelowEntry;            case 8: return InterInitializer;                        case 9: return PerCflowEntry;            case 10: return PerCflowBelowEntry;            case 11: return PerThisEntry;            case 12: return PerTargetEntry;            case 13: return Softener;        }        throw new RuntimeException("unimplemented kind: " + key);    }