package com.siyeh.igtest.classlayout;

public abstract class AbstractMethodOverridesConcreteMethodInspection1
{
    public abstract void fooBar();
    public abstract void fooBang();

    public void fooBaz()
    {

    }

    public void fooBarangus()
    {

    }
}
