Handling null arguments in a factory class
It seems to me that you are not quite making good use of exceptions and as long as I believe it is possible that you are disrespecting some principles. First things first, you really should be using IllegalArgumentException because that is the java standard exception class for invalid arguments. You shouldn't also throw a exception and then catch it so your throw statement should be outside the try block. Why should you ever raise a error to treat it imeadiatly? You should avoid it instead!

public static Response initResponse(final Destination destination, final Source1 source1, final Source2 source2, final Source3 source3, final Source4 source4) {
    if(source1 == null &amp;&amp; source2 == null &amp;&amp; source3 == null &amp;&amp; source4 == null) {
        throw new IllegalArgumentException ("Atleast one source has to be not null");
    }
    try {
        return ResponseImplManager.getInstance(destination, source1, source2, source3, source4);
    } catch (Exception e) {//if possible catch the specific type of the exception that is thrown by getInstance thought I don't see it as a huge issue as you don't have any other method calls
        throw new ABODataException("Unable to instantiate Response:"+e.getMessage());
    }
}