code: private static synchronized void lazyInit(InputStream inStream) {
  		if (registry==null) {
  
  			registry = 	new HashSet<ProteinModification>();
  			byId = new HashMap<String, ProteinModification>();
  			byResidId = new HashMap<String, Set<ProteinModification>>();
  			byPsimodId = new HashMap<String, Set<ProteinModification>>();
  			byPdbccId = new HashMap<String, Set<ProteinModification>>();
  			byKeyword = new HashMap<String, Set<ProteinModification>>();
  			byComponent = new HashMap<Component, Set<ProteinModification>>();
  			byCategory = new EnumMap<ModificationCategory, Set<ProteinModification>>(
  					ModificationCategory.class);
  			for (ModificationCategory cat:ModificationCategory.values()) {
  				byCategory.put(cat, new HashSet<ProteinModification>());
  			}
  			byOccurrenceType = new EnumMap<ModificationOccurrenceType, Set<ProteinModification>>(
  					ModificationOccurrenceType.class);
  			for (ModificationOccurrenceType occ:ModificationOccurrenceType.values()) {
  				byOccurrenceType.put(occ, new HashSet<ProteinModification>());
  			}
  			registerCommonProteinModifications(inStream);
  		}
  	}
docs: Lazy Initialization the static variables and register common modifications.