#vulnerable code 
                                @NotNull
    @Override
    public String readLine() {
        StringBuilder input = acquireStringBuilder();
        EOL:
        while (position() < capacity()) {
            int c = readUnsignedByteOrThrow();
            switch (c) {
                case END_OF_BUFFER:
                case '\n':
                    break EOL;
                case '\r':
                    long cur = position();
                    if (cur < capacity() && readByte(cur) == '\n')
                        position(cur + 1);
                    break EOL;
                default:
                    input.append((char) c);
                    break;
            }
        }
        return stringInterner().intern(input);
    } 
                            #location 22 
                            #vulnerability type THREAD_SAFETY_VIOLATION
#fixed code
                                @NotNull
    @Override
    public String readLine() {
        StringBuilder input = acquireStringBuilder();
        EOL:
        while (position() < capacity()) {
            int c = readUnsignedByteOrThrow();
            switch (c) {
                case END_OF_BUFFER:
                case '\n':
                    break EOL;
                case '\r':
                    long cur = position();
                    if (cur < capacity() && readByte(cur) == '\n')
                        position(cur + 1);
                    break EOL;
                default:
                    input.append((char) c);
                    break;
            }
        }
        return SI.intern(input);
    }