package com.siyeh.igtest.imports;
import com.siyeh.igtest.finalization.*;

import java.lang.Integer;
import java.lang.Byte;
import java.lang.*;


public class JavaLangImportInspection
{
    public Byte m_map;
    public Integer foo;
    public FinalizeNotProtectedInspection bar;
}
