I'm writing an API for a bunch of different aspects of my project. I have some code that currently looks likeinterface LoginCredentialRepository {    Callable<LoginCredential> fetchCredentials(String username);}I had the thought to add a new interface to the mix, a FetchLoginCredentialTask that looked something likeinterface FetchLoginCredentialsTask extends Callable<LoginCredential> {}and change fetchCredentials toFetchLoginCredentialsTask fetchCredentials(String username);Whereby the new interface doesn't actually change anything at the moment (but maybe could in the future).What reason would there be to do something like this?
Should a new interface be created if it doesn't add anything to the contract (yet)?
java;design patterns;object oriented design