Reducing code duplication between static methods/variables and multiple properties files
<p>Let's say I have multiple properties files that are nearly identical</p>

<pre><code>public class Env1 {

    protected static String PROPERTIES_FILE = "some/path1";
    protected static Properties props;

    public static String getPropertyA
    ...
    public static String getPropertyZ
}
</code></pre>

<p>e.g. I have 20 of these environment files, and all getPropertyA through getPropertyZ methods are identical except that the PROPERTIES_FILE is different for each of these environment files.</p>

<p>I have these nearly identical 20 environment files because they are each tied to 20 different enum types with slightly different properties.</p>

<p>And it's convenient to call these environment properties from anywhere in the code without having to instantiate them.</p>

<p>Is there a way to reduce this 20 fold code duplication without having to turn the static member variables to instance member variables?</p>
