Snapshot of commit d5ec1d5018ed24f1b4f32b1d09df6dbd7e2fc425

from branch master of git://git.jetbrains.org/idea/community.git
diff --git a/native/MacLauncher/PropertyFileReader.m b/native/MacLauncher/PropertyFileReader.m
new file mode 100644
index 0000000..43b0682
--- /dev/null
+++ b/native/MacLauncher/PropertyFileReader.m
@@ -0,0 +1,46 @@
+//
+// Created by max on 11/6/12.
+//
+// To change the template use AppCode | Preferences | File Templates.
+//
+
+
+#import "PropertyFileReader.h"
+#import "utils.h"
+
+
+@implementation PropertyFileReader {
+}
+
++ (void)parseProperty:(NSString *)string to:(NSMutableDictionary *)to {
+    NSRange delimiter = [string rangeOfString:@"="];
+    if (delimiter.length > 0 && delimiter.location + 1 <= string.length) {
+        NSString *key = [string substringToIndex:delimiter.location];
+        NSString *value=[string substringFromIndex:delimiter.location + 1];
+        [to setObject:value forKey:key];
+    }
+}
+
++ (NSDictionary *)readFile:(NSString *)path {
+    NSMutableDictionary *answer = [NSMutableDictionary dictionary];
+
+    NSString *contents = readFile(path);
+
+    if (contents) {
+        NSArray *lines = [contents componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
+        for (NSString *line in lines) {
+            NSString *trimmedLine = trim(line);
+            if ([trimmedLine length] > 0) {
+                if ([trimmedLine characterAtIndex:0] != '#') {
+                    [self parseProperty:trimmedLine to:answer];
+                }
+            }
+        }
+
+        return answer;
+    }
+
+    return nil;
+}
+
+@end
\ No newline at end of file