public static StandardUnit addStandardUnit(String name, String typeName, String systemName, double factorToReference) {
            
            StandardUnit createdUnit = null;

            if(!listUnits.containsKey(name) && listTypes.containsKey(typeName) && listSystems.containsKey(systemName)) {
                Type type = listTypes.get(typeName);
                System system = listSystems.get(systemName);

                if(type.getReferenceUnit() != null) {
                    createdUnit = new StandardUnit(name, type, system, factorToReference);

                    type.getReferenceUnit().getFactors().put(createdUnit, 1 / factorToReference);

                    type.getUnits().put(name, createdUnit);
                    system.getUnits().put(name, createdUnit);
                    
                    listUnits.put(name, createdUnit);
                }
            }
            
            return createdUnit;
	}