public static void merge ( CSProperties base , CSProperties overlay ) { for ( String key : overlay . keySet ( ) ) { if ( base . getInfo ( key ) . containsKey ( "public" ) ) { base . put ( key , overlay . get ( key ) ) ; } else { throw new IllegalArgumentException ( "Not public: " + key ) ; } } }
Merges two Properties respects permissions