I have an object with two different constructors:

```
public class MyClass {
   public MyClass(arg1, arg2) {
       //constructor
   }

   public MyClass() {};

}

```

I need to invoke the second one only by a specific class of my software (the first one could be invoked anywhere). Is there a design pattern specific for this case?

`MyClass` and the invoking class are in two different packages, so a package-private constructor is not a solution.