Add interface not changing part for 4.0

Motivations:
Some interface or methods were missing in 4.1 while existing in 4.0.

Modifications:
Adding previously exceptions throws to method's definition and 2
protected methods to the main class to maintain compatibility with
previous interface.

Results:
Now the interface is kept as before while merging all improvements from
4.1.