public static String readAccessFlag() throws IOException
    {
        int accessFlag = ByteReader.read_u2( dis );

        String accessInfo = "";

        if ( ( accessFlag & AccessFlag.ACC_PUBLIC ) != 0 )
        {
            accessInfo += " public ";
        }
        if ( ( accessFlag & AccessFlag.ACC_ABSTRACT ) != 0 )
        {
            accessInfo += " abstract ";
        }
        if ( ( accessFlag & AccessFlag.ACC_FINAL ) != 0 )
        {
            accessInfo += " final ";
        }
        if ( ( accessFlag & AccessFlag.ACC_INTERFACE ) != 0 )
        {
            accessInfo += " interface ";
        }
        if ( ( accessFlag & AccessFlag.ACC_SUPER ) != 0 )
        {
            accessInfo += " Invoke Special ";
        }
        if ( ( accessFlag & AccessFlag.ACC_PRIVATE ) != 0 )
        {
            accessInfo += " private ";
        }
        if ( ( accessFlag & AccessFlag.ACC_PROTECTED ) != 0 )
        {
            accessInfo += " protected ";
        }
        if ( ( accessFlag & AccessFlag.ACC_VOLATILE ) != 0 )
        {
            accessInfo += " volatile ";
        }
        if ( ( accessFlag & AccessFlag.ACC_TRANSIENT ) != 0 )
        {
            accessInfo += " transient ";
        }

        return accessInfo;
    }