package com.freerecharge.agents; public interface DTHRechargeAgent { float recharge(String acountNo, String pkg, float amount); } ----------------------------- : package com.freerecharge.agents; public interface MobileRechargeAgent { boolean recharge(String mobileNo, String pkg, float amount); } package com.freerecharge.agent.factory; import com.freerecharge.agents.DTHRechargeAgent; import com.freerecharge.agents.MobileRechargeAgent; public abstract class AbstactAgentFactory { // factory method for MobileRechargeAgent component interface public MobileRechargeAgent newMobileRechargeAgent() { ...