There is a pattern called Constructor injection. This pattern is mainly useful for unit testing and sharing the logic. Here is an example
public class SomeClass 
{
   private ISomeInterface _someInterface;
   public SomeClass() : this (null){} //here mostly we pass concrete implementation 
   //of the interface like this( new SomeImplementation())
   public SomeClass(ISomeInterface someInterface)
   {
      _someInterface = someInterface;       
      //Do other logics here
   }
}
As you see here, unit tests will be easy by passing fake implementation. In addition, the logic is shared ( DRY). And Do all the logic inside the constructor which takes the highest number of parameters
But in your case, null is passing, so that is a context based. I have to know what your context is.